【发布时间】:2021-06-13 13:02:38
【问题描述】:
我有一个类似 original 的数据集,其中包含数字 (NP) 和二进制(所有其他)变量(我的数据集要大得多,并且包含更多的数字和虚拟变量):
NP <- c(4,6,18,1,3,12,8)
iso_mode_USA <- c(1, 0, 0, 0, 0, 1, 1)
iso_mode_CHN <- c(0, 1, 1, 0, 0, 0, 0)
iso_mode_COL <- c(0, 0, 0, 1, 1, 0, 0)
exp_sector_4 <- c(0, 1, 0, 0, 1, 0, 0)
exp_sector_5 <- c(1, 0, 1, 0, 0, 0, 0)
exp_sector_7 <- c(0, 0, 0, 1, 0, 1, 1)
original <- data.frame(NP, iso_mode_USA, iso_mode_CHN, iso_mode_COL, exp_sector_4, exp_sector_5, exp_sector_7)
我想合并二进制变量按名称开头(例如,所有“iso_mode_”一起,所有“exp_sector_”一起,依此类推我在数据集中的变量未在此处提供)。 在生成的新变量中,我想输入值,它位于原始变量的 colname() 的末尾。
所以新的数据集看起来像:
NP <- c(4,6,18,1,3,12,8)
iso_mode <- c('USA', 'CHN', 'CHN', 'COL', 'COL', 'USA', 'USA')
exp_sector <- c('5', '4', '4', '7', '4', '7', '7')
new <- data.frame(NP,iso_mode, exp_sector)
我已尝试使用following link。但是,按名称选择假人并不能成为诀窍(我的数据集中有大约 1700 个假人,仅属于大约 20 个组)
dplyr() 环境的任何解决方案?
谢谢
【问题讨论】:
标签: r merge grouping r-caret dummy-variable