我有一个大数据框,其短版本如下:
> test
SRA_Ucon SRA_Uinc SRA_Ucon.1 MID_Rinc MID_Rinc.1 SRA_Ucon.2 MID_cueR MID_Rinc.2 Neut_con Neut_con.1
1 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
我想计算以相同名称开头的列数。例如,在这种情况下,我想计算 SRA_Ucon 列的数量。这里有三个。所以,我希望获得数字" 3"的输出。这样做的最佳方式是什么?
答案 0 :(得分:2)
您可以在列名称上使用grep并检查响应的长度。
length(grep(x = colnames(test), pattern = "^SRA_Ucon"))
答案 1 :(得分:1)
我们也可以将substring
与==
sum(substring(colnames(test), 1, 8)== "SRA_Ucon")
#[1] 3