我正试图从R中获取一些数据并遇到麻烦。
我没有完全掌握不同的数据类型以及如何在它们之间进行转换。基本上我想使用tapply来获取摘要,然后将输出写入文件。该功能正常,但我无法得到我想要的输出。
问题显示在下面的代码中并且是由
引起的my.df<-data.frame(sort=c(rep("a",10),rep("b",10)),value=seq(1,20,1))
my.array<-tapply(my.df$value,my.df$sort,summary)
my.array
#These don't work
我想要获取文件的输出是这样的
Min 1st Qu Median Mean 3rd Qu. Max
a 1 3.25 5.5 5.5 7.75 10
b 11 13.25 15.5 15.5 17.75 20
我尝试过的一些事情是:
my.array<-tapply(my.df$value,my.df$sort,summary)
my.array
write.csv(my.array,file="b.csv")
write.csv(sHmin_summary,file="SHmin_summary.csv")
Min 1st Qu Median Mean 3rd Qu. Max
a 1 3.25 5.5 5.5 7.75 10
b 11 13.25 15.5 15.5 17.75 20
write(my.array,file="temp.txt")
write.csv(my.array,file="temp.csv")
#doesn't work
b<-do.call(rbind.data.frame,my.array)
b
#Close but the header names are wrong, I could correct manually but there should be a better way
b<-matrix(unlist(my.array),ncol=2)
b
#Loses headers and rows
我正在考虑将名称从第一个列表中拉出来并将它们应用于使用rbind创建的数据框,或者从第一个列表项开始,然后将它们绑定到该列表上,并希望名称保留。
任何建议都将受到赞赏。
戈登
答案 0 :(得分:1)
你很亲密。仅使用rbind
而不是rbind.data.frame
来保持名称正确,因为my.array
的元素不是数据框。