0

base::paste在 for 循环中使用:

for (k in 1:length(summary$pro))
{
  if (k == 1)
    mp <- summary$pro[k]
  else
    mp <- paste(mp, summary$pro[k], sep = ",")
}

mp输出为一个大字符串,其中元素用逗号分隔。

例如mp"1,2,3,4,5,6"

然后,我想放入mp一个文件,其中的每个元素都添加到同一行的单独列中。我的代码是:

write.table(mp, file = recompdatafile, sep = ",")

但是,mp它只是作为一个大字符串出现在 CSV 中,而不是被分割。我怎样才能达到我想要的格式?

仅供参考,我也尝试过转换mp为列表,然后strsplit()-ing 它,但都没有奏效。

添加summary$pro到文件后,如何summary$me在一行中添加多列(格式相同)?

谢谢,

4

1 回答 1

1

如果您想将某些内容写入文件,write.table()这不是唯一的方法。如果你想避免标题和引号等,你可以使用更直接的cat. 例如

cat(summary$pro, sep=",", file="filename.txt")

将更直接地写出summary$pro用逗号分隔的值向量。您不需要先构建字符串。(无论如何,像上面那样一次构建一个元素的字符串是一种不好的做法。R 中的大多数函数一次可以对整个向量进行操作,包括paste)。

于 2014-07-11T21:35:37.653 回答