2017-04-11 98 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

谢谢。这确实奏效,并不依赖于提前知道行数。由于集合不是原子向量,它只需要一个小的调整 –