2016-10-03 75 views
1

我喜欢从数据帧列表中的每个数据帧报告特定列。有任何想法吗?这是我的代码:从数据帧列表中调用每个数据帧的特定列

# Create dissimilarity matrix 
df.diss<-dist(t(df[,6:11])) 

mds.table<-list() # empty list of values 
for(i in 1:6){ # For Loop to iterate over a command in a function 
    a<-mds(pk.diss,ndim=i, type="ratio", verbose=TRUE,itmax=1000) 
    mds.table[[i]]<-a # Store output in empty list 
} 

现在,这里是我遇到麻烦。存储这些值后,我无法从列表中的每个数据帧中调用特定列。

# This function should call every $stress column from each data frame. 
lapply(mds.table, function(x){ 
    mds.table[[x]]$stress 
    }) 

再次感谢!

+1

'lapply(mds.table, “[”, “压力”)'? –

回答

3

你是非常接近:

set.seed(1) 
l_df <- lapply(1:5, function(x){ 
    data.frame(a = sample(1:5,5), b = sample(1:5,5)) 
}) 

lapply(l_df, function(x){ 
    x[['a']] 
}) 

[[1]] 
[1] 2 5 4 3 1 

[[2]] 
[1] 2 1 3 4 5 

[[3]] 
[1] 5 1 2 4 3 

[[4]] 
[1] 3 5 2 1 4 

[[5]] 
[1] 5 3 4 2 1 
+0

谢谢你,克里斯 –