使用R附加数据以形成单个字符串

时间:2017-07-15 02:09:45

标签: r string append character

我想在R中形成一个单独的字符串: 以下是我需要形成的数据:

list_names <- c("a","b")
answer <- NULL
for (name in list_names){
   append(answer,name)
   append(answer,"\n")
   final <- write.table(df,row.names=FALSE,col.names=FALSE, sep=",")
   append(answer,final)
}
print(answer)

输出应如下所示:单个字符串:

a
table1
b 
table2

但似乎它只附加表而不是文本。我该怎么办?我是R.的新手。请建议。

1 个答案:

答案 0 :(得分:0)

append方法不会改变answer变量的值。如果您需要它,您必须执行以下操作:answer <- append(answer, name)。此外,write.table方法输出到文件而不是字符串。

这就是你要找的东西:

library(stringr)

list_names <- c("a","b")
answer <- ""
for (name in list_names){
  answer <- str_c(answer,name)
  names(df) <- NULL
  final <- str_c(capture.output(print.data.frame(df, row.names = FALSE)) , collapse = "\n")
  answer <- str_c(answer,final, "\n")
}
writeLines(answer)

这会在最后打印一个额外的行。如果循环列表索引而不是名称,则可以避免这种情况。