2017-04-11 169 views
0

我有我構成的一個棘手的情況。我使用嵌套的lapply語句,我試圖將結果提取到數據框中。我用來提取結果的方法如下。在列表中的第一個元素是數據的年,1爲2014,2015年2等我使用哪個產生的相同結果的其他方法從列表中轉換數據幀列

runs_results_1 <- as.data.frame(Reduce(rbind, runs_year[[1]])) 

真正的問題是,當我運行下面的代碼

sapply(runs_results_1, mode) 

它爲數據幀返回以下內容。將這些列作爲列表使用這些數據是令人討厭的。

statistic  p.value  runs   mu   var  method 
data.name 
"list"  "list"  "list"  "list"  "list"  "list"  
"list" 
alternative  players 
"list"  "list" 

有沒有辦法將每列從列表轉換爲數字或字符列?我意識到我沒有提供一個可行的例子,並且從其他可能的情況來看,這似乎是R結構事物的技術答案。任何幫助,將不勝感激。

+0

是最好的辦法'CC < - data.frame(矩陣(不公開(runs_results_1) ,nrow = 681,byrow = T))'一旦我知道列數? –

+0

如果您提供[可重現的示例],它會更容易幫助(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。也許顯示你是如何創建這個對象的;可能有更好的辦法。 – MrFlick

+0

對不起@MrFlick,但這將是非常凌亂的做這個論壇。我現在有一個可行的解決方案,但它可能不是最有效的方法 –

回答

0

如果列清單是單一元素原子的名單,然後你可以使用「不公開」的命令,如:

df <- sapply(df, unlist) 
+0

謝謝。這確實奏效,並不依賴於提前知道行數。由於集合不是原子向量,它只需要一個小的調整 –