MacBook Pro上RStudio提取含Intensidad列的数据框问题求助
提取包含指定字符串的列(标准包实现)
你用subset()函数的方式不对,subset()的第二个参数是用来筛选行的,不是提取列。用R标准包的话,有两种简单方法可以提取所有列名包含Intensidad的列:
方法一:用grepl()生成逻辑筛选向量
# 直接提取目标列,结果是一个可用于后续计算的数据框 Intensidad_data <- MyData[, grepl("Intensidad", colnames(MyData))]
grepl("Intensidad", colnames(MyData))会生成一个与列数等长的逻辑向量,列名包含目标字符串的位置返回TRUE,否则FALSE- 用这个逻辑向量作为数据框的列索引,就能筛选出所有符合条件的列
方法二:用grep()获取列索引后提取
# 先获取目标列的位置索引 target_cols <- grep("Intensidad", colnames(MyData)) # 根据索引提取列 Intensidad_data <- MyData[, target_cols]
grep()会直接返回包含目标字符串的列的位置编号,用编号作为列索引同样可以完成提取
提取后的Intensidad_data是一个标准的数据框,你可以直接对它进行后续的统计计算(比如colMeans(Intensidad_data)、rowSums(Intensidad_data)等)。
内容的提问来源于stack exchange,提问作者Brian Urbano Alonso
相关产品推荐
相关产品推荐

