Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按不同数据帧的列向量子集数据帧_R_Vector_Dataframe_Subset - Fatal编程技术网

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)