我想在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.的新手。请建议。
答案 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)
这会在最后打印一个额外的行。如果循环列表索引而不是名称,则可以避免这种情况。