2016-10-03 113 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

謝謝你,克里斯 –