如何在R语言数据框中统计含'PaperB'标记的列总数?
R语言统计含特定关键词的列总数
你可以通过以下几种简单方法获取含'PaperB'标记的列总数:
基础R方法:直接用
length()包裹grep()的结果。grep("PaperB", names(df))返回的是匹配列的位置索引,length()会统计这些索引的数量:length(grep("PaperB", names(df)))如果需要精确匹配列名(比如只匹配完全等于'PaperB'的列,而非包含它的列),可以添加
fixed = TRUE参数:length(grep("PaperB", names(df), fixed = TRUE))tidyverse风格方法:如果习惯用stringr包,用
str_detect()生成逻辑向量,再用sum()统计TRUE的数量(即匹配的列数):library(stringr) sum(str_detect(names(df), "PaperB"))同样,精确匹配可以用
fixed("PaperB"):sum(str_detect(names(df), fixed("PaperB")))
原来的代码df[grep("PaperB", names(df))]是提取匹配的列数据,而非统计数量,所以只需要把提取操作换成统计长度的操作即可。
内容的提问来源于stack exchange,提问作者jumpsuitgallion
相关产品推荐
相关产品推荐

