我正在使用R中的
为了提醒您它的外观,我在这里粘贴了六五行。
我想计算按所有列分组的行数。当然,我们可以在
iris
数据表进行工作。为了提醒您它的外观,我在这里粘贴了六五行。
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1: 5.1 3.5 1.4 0.2 setosa
2: 4.9 3.0 1.4 0.2 setosa
3: 4.7 3.2 1.3 0.2 setosa
4: 4.6 3.1 1.5 0.2 setosa
5: 5.0 3.6 1.4 0.2 setosa
6: 5.4 3.9 1.7 0.4 setosa
我想计算按所有列分组的行数。当然,我们可以在
by
中写入所有变量,如下所示:iris[, .(Freq = .N), by = .(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Species)]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Freq
1: 5.1 3.5 1.4 0.2 setosa 1
2: 4.9 3.0 1.4 0.2 setosa 1
3: 4.7 3.2 1.3 0.2 setosa 1
4: 4.6 3.1 1.5 0.2 setosa 1
5: 5.0 3.6 1.4 0.2 setosa 1
6: 5.4 3.9 1.7 0.4 setosa 1
但是,我想知道是否有一种方法可以按照所有变量分组,而不需要输入所有列名?
?data.table
:"by
可以接受...一个由列名组成的字符向量"。因此,iris[, .N, by = names(iris)]
。 - Henrik