我正在寻找一种方法来 Select 与特定列相邻的数据/列.例如,假设我想 Select "cat\u weight"左侧和右侧的两列
df <- data.frame(dog_height = 1:5,
dog_weight = 2:6,
cat_height = 3:7,
cat_weight = 4:8,
bird_height = 5:9,
bird_weight = 6:10
)
所以在这种情况下,这将是"dog\u weight"、"cat\u height"、"bird\u height"和"bird\u weight".到目前为止,我try 的只是根据我感兴趣的列的索引号创建变量作为索引值,例如.
IDvar <- which(colnames(df)=="cat_weight")
IDvar_left_1 <- IDvar-2
IDvar_left_2 <- IDvar-1
IDvar_right_1 <- IDvar+1
IDvar_right_2 <- IDvar+2
cols_left <- df[,IDvar_left_1:IDvar_left_2]
cols_right <- df[,IDvar_right_1:IDvar_right_2]
这是可行的,但我忍不住认为一定有更优雅的解决方案?
当然,我的真实数据要大得多,因此需要一些更复杂的索引(例如,排除与感兴趣的列直接相邻的列),所以只需要try 制定一个简单的方法来应用!