在R中可以使用以下代码来编写一个函数,该函数可以将列名称分组并将它们返回:
group_columns <- function(data, groups) {
col_groups <- list()
for(i in 1:length(groups)) {
col_groups[[i]] <- names(data)[grep(groups[i], names(data))]
}
return(col_groups)
}
函数group_columns
有两个参数。第一个参数data
是一个 data frame,第二个参数 groups
是一个字符向量,里面包含需要分组的列名模式。
在函数中首先创建一个空列表col_groups
,用于存储每个组的列名称。在for循环中遍历每个组,在每个循环中使用 grep
函数来找到包含给定模式的列名,然后将它们组合成一个向量并添加到 col_groups
中。
最后,将col_groups
返回。
这里提供了一个简单的数据框来测试函数:
# 创建测试数据框
df <- data.frame(a=1:5, b=1:5, c=1:5, d=1:5, e=1:5)
# 使用函数将列名称按组分组
group_columns(df, c("a", "b", "c", "d", "e"))
以上代码将返回一个包含所有列的列表。