R 按不同数据帧的列向量子集数据帧
假设我得到了这样一个数据帧:R 按不同数据帧的列向量子集数据帧,r,vector,dataframe,subset,R,Vector,Dataframe,Subset,假设我得到了这样一个数据帧: dfA<-data.frame(A=c(letters[1:3]),B=c(letters[4:6]),C=c(letters[7:9])) >dfA A B C 1 a d g 2 b e h 3 c f i dfB<-data.frame(replicate(12,sample(0:5,5,rep=T))) colnames(dfB)<-sample(letters[1:9],12,rep=T) > dfB a a d
dfA<-data.frame(A=c(letters[1:3]),B=c(letters[4:6]),C=c(letters[7:9]))
>dfA
A B C
1 a d g
2 b e h
3 c f i
dfB<-data.frame(replicate(12,sample(0:5,5,rep=T)))
colnames(dfB)<-sample(letters[1:9],12,rep=T)
> dfB
a a d d g e i c i a g h
1 0 3 3 2 2 1 2 4 1 2 4 0
2 2 2 3 0 0 0 4 4 1 5 2 1
3 4 5 0 3 2 4 3 5 1 4 2 3
4 0 1 0 4 4 3 2 2 1 2 3 1
5 4 0 2 1 2 4 0 5 5 0 5 1
有人能帮忙吗?正如阿克伦在评论中指出的那样
subset(dfB, select=colnames(dfB) %in% dfA$A)
工作正常。
dfB[colnames(dfB)%in%dfA$A]
或子集(dfB,select=colnames(dfB)%in%dfA$A)
工作正常!我希望事情会那么容易。感谢您也可以使用dfB[match(dfA$A,names(dfB),0L)]
subset(dfB, select=colnames(dfB) %in% dfA$A)