首页 > 解决方案 > 需要使用另一个文件上的列信息对主数据框进行子集化

问题描述

请帮助我拥有我想按列子集的主要数据集以及另一个文件中的列信息。在本例中,我想从主文件创建 3 个数据框,其中所需的列位于 ColData (c(XX,CE.02), c(YY,CE.03,CE.01), c(ZZ, CE.05))。

XX <- c(1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0)
YY <- c(0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0)
ZZ <- c(1,0,1,1,0,0,0,1,0,1,0,0,1,0,1,1)
AL.01 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,3,0,0)
AL.02 <- c(NA,0,0,NA,NA,0,NA,0,0,4,0,0,0,2,0,0)
AL.03 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,3,0,0)
CE.01 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,3,0,0)
CE.02 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,2,0,0)
CE.03 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,2,0,0)
CE.04 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,1,0,0)
CE.05 <- c(NA,0,0,NA,NA,0,NA,0,0,3,0,0,0,1,0,0)

RCAQA <- c('XX','YY','ZZ')
QuestionID1 <- c('CE.02','CE.03','CE.05')
QuestionID2 <- c('','CE.01','')

MainData <- data.frame(XX,YY,ZZ,AL.01,AL.02,AL.03,CE.01,CE.02,CE.03,CE.04,CE.05)

ColData <- data.frame(RCAQA,QuestionID1,QuestionID2) 

主数据

主数据

科尔数据

科尔数据

所需的输出数据帧 1 c(XX,CE.02)

必需的输出数据帧1

所需的输出数据帧 2 c(YY,CE.03,CE.01)

必需的输出数据帧2

所需的输出数据帧 3 c(ZZ,CE.05)

必需的输出数据帧3

标签: r

解决方案


这就是我对 df1、df2、df3 的处理方式:

df1 <- MainData %>% select(one_of(as.character(as.vector(ColData[1]))))
df2 <- MainData %>% select(one_of(as.character(as.vector(ColData[2]))))
df3 <- MainData %>% select(one_of(as.character(as.vector(ColData[3])))) 

推荐阅读