如何在R数据框中查找具有相同名称的列的总行数?

要在 R 数据框中查找具有相同名称的列的总行数,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框,其中一些列具有相同的名称。

  • 然后,使用 tapply 以及 colnames 和 sum 函数来查找具有相同名称的列的行总数。

示例

创建数据框

让我们创建一个数据框,如下所示 -

df<-
data.frame(x=rpois(25,1),y=rpois(25,10),x=rpois(25,5),y=rpois(25,5),check.names=FALSE)
df
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

     x y  x y
1   3 14  5 8
2   1 13  8 9
3   0 12 11 6
4   1 11  5 6
5   0  4  6 4
6   1  8  3 7
7   0  5  4 7
8   0  8  5 4
9   1  8  5 8
10  3 12  6 2
11  0 15  8 3
12  3 18  4 3
13  1 14  4 6
14  1 11  6 6
15  2 21  2 6
16  2  9  6 6
17  0 12  4 8
18  2  6 10 4
19  2 10  4 5
20  3 10  7 3
21  0  6 11 5
22  0 11  2 4
23  1  4  2 8
24  0  9  4 3
25  1  5  4 7

查找具有相同名称的列的行总数

使用 tapply 以及 colnames 和 sum 函数来查找数据框 df 中具有相同名称的列的总行数 -

df<-
data.frame(x=rpois(25,1),y=rpois(25,10),x=rpois(25,5),y=rpois(25,5),check.names=FALSE)
t(apply(df,1, function(x) tapply(x,colnames(df),sum)))
输出结果
        x y
[1,]   8 22
[2,]   9 22
[3,]  11 18
[4,]   6 17
[5,]   6  8
[6,]   4 15
[7,]   4 12
[8,]   5 12
[9,]   6 16
[10,]  9 14
[11,]  8 18
[12,]  7 21
[13,]  5 20
[14,]  7 17
[15,]  4 27
[16,]  8 15
[17,]  4 20
[18,] 12 10
[19,]  6 15
[20,] 10 13
[21,] 11 11
[22,]  2 15
[23,]  3 12
[24,]  4 12
[25,]  5 12

猜你喜欢