R 在命名列之后选择列

R 在命名列之后选择列,r,dataframe,R,Dataframe,我在R中有一个如下形式的数据框 第一 A. B C 第二 A. B C 3. 8. 1. 7. 6. 8. 5. 9 4. 2. 8. 5. 一个选项是split.default,用于将data.frame拆分为data.frames列表 split.defaultdf,cumsumnamesdf%在%names中 $`1` 首先是a b c 1 NA 3 8 1 2 NA 5 9 4 $`2` 第二a b c 1 NA 7 6 8 2 NA 2 8 5 这个表达式是。。。创建要根据其分组和拆分

我在R中有一个如下形式的数据框

第一 A. B C 第二 A. B C 3. 8. 1. 7. 6. 8. 5. 9 4. 2. 8. 5. 一个选项是split.default,用于将data.frame拆分为data.frames列表

split.defaultdf,cumsumnamesdf%在%names中 $`1` 首先是a b c 1 NA 3 8 1 2 NA 5 9 4 $`2` 第二a b c 1 NA 7 6 8 2 NA 2 8 5 这个表达式是。。。创建要根据其分组和拆分列的索引

样本数据 df一个选项是split.default,用于将data.frame拆分为data.frames列表

split.defaultdf,cumsumnamesdf%在%names中 $`1` 首先是a b c 1 NA 3 8 1 2 NA 5 9 4 $`2` 第二a b c 1 NA 7 6 8 2 NA 2 8 5 这个表达式是。。。创建要根据其分组和拆分列的索引

样本数据 df您可以获得名称向量在数据列名中的位置,并从中子集接下来的3列

names <- c("First", "Second")
inds <- which(names(df) %in% names)
result <- Map(function(x, y) df[x:y], inds + 1, inds + 3)
result

#[[1]]
#  a b c
#1 3 8 1
#2 5 9 4

#[[2]]
#  a b c
#1 7 6 8
#2 2 8 5
您可以获取数据列名中名称向量的位置,并从中子集接下来的3列

names <- c("First", "Second")
inds <- which(names(df) %in% names)
result <- Map(function(x, y) df[x:y], inds + 1, inds + 3)
result

#[[1]]
#  a b c
#1 3 8 1
#2 5 9 4

#[[2]]
#  a b c
#1 7 6 8
#2 2 8 5