从数据框列表中调用每个数据框的特定列

3

我想从一个数据框列表中的每个数据框报告特定列。有什么想法吗?这是我的代码:

# 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, "[[", "stress")?---> lapply(mds.table,"[[","stress") - Rich Scriven
1个回答

5
您很接近:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接