在R中的csv文件中的不同列中写入多个值

时间:2012-03-13 18:53:07

标签: file r csv

任何人都可以帮我这个: 我计算了2个不同的值:标准差和z分数。

我正在试图弄清楚如何将这些写入R中不同列的csv文件中。我有大约90个不同的标准偏差值和90个zscore值。 所以我希望我的所有标准偏差值都在1列,所有我的z分数在第2列。我还想用标准偏差和z分数标记该列。

现在我正在计算并将它们写入循环中的单独文件中,如下所示:

write.table(st_dev, file="st_dev.csv", sep=",", row.names=FALSE, col.names=FALSE, append=TRUE)
write.table(z_score, file="z.csv", sep=",", row.names=FALSE, col.names=FALSE, append=TRUE)

编辑:

for(i in 1:130)
 {
 y=test3[i,3:52]
 z=as.numeric(y)
 average = mean(z)
 st_dev = sd(z)
 dfrm <- data.frame(average=average, st_dev=st_dev)
 write.table(dfrm, file="av_st.csv", sep=",", row.names=FALSE, col.names=TRUE, append=TRUE)
}

如何在顶部只列一次列标题,而不是为csv文件中的每个值打印?感谢

2 个答案:

答案 0 :(得分:4)

创建一个数据框并写下它。

y=test3[1,3:52]
 z=as.numeric(y) 
average = mean(z) 
st_dev = sd(z) }
 dfrm <- data.frame(average = average, st_dev = st_dev)
write.table(dfrm, file="z_st.csv", sep=",", row.names=FALSE, col.names=TRUE)

for(i in 2:130) { y=test3[i,3:52]
 z=as.numeric(y) 
average = mean(z) 
st_dev = sd(z) }
 dfrm <- data.frame(average = average, st_dev = st_dev)
write.table(dfrm, file="z_st.csv", sep=",", row.names=FALSE, col.names=FALSE)}

答案 1 :(得分:0)

这应该是你要找的东西:

write.table(cbind(st_dev,z_score), 
file="whatever.csv",row.names=F,col.names=c('st_dev','z_score'))