我正在尝试从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创建的数据框中,或者从第一个列表项开始,然后将其rbind到那个数据框中,希望名称可以保留。如果有任何建议,请告诉我。谢谢!
高登