1

正如问题所述,我必须导出一个由 12 列组成的表。文本文件的格式必须是前 10 列用逗号分隔,最后的列用冒号分隔。

示例... 1,2,3,4,5,6,7,8,9,10:11:12

这是文件需要交付的格式。

这是我目前正在使用的代码,但它只是将数据作为逗号分隔的文件吐出。

write.table(
dataset,
"//example_location/example_file.txt",
sep=",",
na="",
row.names=FALSE,
col.names = FALSE,
quote = FALSE
)

在读入文件时,我只是打开了文本文件并进行了查找和替换以将冒号转换为逗号以简化导入,但反过来就不行了。

4

1 回答 1

0

让我们考虑以下数据框:

df<-data.frame(a=1:10,b=runif(10),c=LETTERS[1:10],d=letters[sample(10)],e=letters[sample(10)])
>df

   a          b   c d e
 1   1 0.06288933 A e a
 2   2 0.87430164 B b e
 3   3 0.75860683 C a h
 4   4 0.50647421 D i f
 5   5 0.63847550 E d c
 6   6 0.70805322 F c i
 7   7 0.17644897 G g g
 8   8 0.04757319 H j j
 9   9 0.19058820 I f b
 10 10 0.70976042 J h d

假设我们只想保存字符:

new_df<-data.frame(a=df$a,b=df$b,pasteVals=paste0(df$c,":",df$d,":",df$e))

 head(new_df,3)
 a          b       pasteVals
 1   1 0.06288933     A:e:a
 2   2 0.87430164     B:b:e
 3   3 0.75860683     C:a:h

因此,您现在可以:write.csv(new_df,"new.csv",row.names=F).

于 2017-06-23T14:34:43.797 回答