2013-11-27 120 views
1

我試圖從R中獲取一些數據並遇到問題。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 

我在想的是從第一個列表中拉出名字並將它們應用到t o使用rbind創建的數據框或從第一個列表項開始,然後將它們綁定到該列表上,並希望這些名稱將保留。

任何意見,將不勝感激。

戈登

回答

1

你很近。因爲my.array的元素不是數據幀,所以只使用rbind而不是rbind.data.frame來正確保存名稱。