R 根据列名索引从列表中的每一行中选择一个值

R 根据列名索引从列表中的每一行中选择一个值,r,R,我试图根据列名索引(即,不仅仅是单个列名)从列表中的每一行中选择一项。 例如,在下面的列表“z”中,我希望根据列名索引“ref”选择值。例如,我想要第一行“x”列下的值,第二行“y”列下的值,第三行“z”列下的项,依此类推 z<-data.frame(replicate(3,runif(6,0,1))) cnames<-c("x","y","z") colnames(z)<-cnames ref<-rep(cnames,2) z这不考虑列名,这正是我要做

我试图根据列名索引(即,不仅仅是单个列名)从列表中的每一行中选择一项。 例如,在下面的列表“z”中,我希望根据列名索引“ref”选择值。例如,我想要第一行“x”列下的值,第二行“y”列下的值,第三行“z”列下的项,依此类推

z<-data.frame(replicate(3,runif(6,0,1)))  
cnames<-c("x","y","z")  
colnames(z)<-cnames  
ref<-rep(cnames,2)  

z这不考虑列名,这正是我要做的。我上面举的例子很简单。我不仅仅是试图获取“z[I,I]”值,我还试图获取与索引“ref”中的列名相关联的值。
sapply(seq_-along(ref),function(I)z[I,match(ref[I],colnames(z)))
谢谢。。。那太完美了。