将数组写入文件的R代码

4

我正在尝试从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到那个数据框中,希望名称可以保留。如果有任何建议,请告诉我。谢谢!
高登
1个回答

1
你已经接近了答案。只需使用rbind而不是rbind.data.frame来正确保留名称,因为my.array的元素不是数据框。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接