Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 打印列中具有相同值的行中的级别计数_R_Count - Fatal编程技术网

R 打印列中具有相同值的行中的级别计数

R 打印列中具有相同值的行中的级别计数,r,count,R,Count,假设我有一个数据帧df: c1 c2 A porcupine A snail A snail B porcupine B snail B goose 我想使用此数据帧生成另一个数据帧,该数据帧报告c2中与c1中唯一字符串相对应的不同值的计数。因此,在上面的例子中,它看起来是这样的: v1 v2 A 2 B 3 因为c2中只有两个不同的值在c1中以“A”作为字符串,而c2中有三个不同的值在c1中以“B”作为字符串 我猜我需要使用sappl

假设我有一个数据帧
df

c1   c2
A    porcupine
A    snail
A    snail
B    porcupine
B    snail
B    goose
我想使用此数据帧生成另一个数据帧,该数据帧报告
c2
中与
c1
中唯一字符串相对应的不同值的计数。因此,在上面的例子中,它看起来是这样的:

v1   v2
A    2
B    3
因为
c2
中只有两个不同的值在
c1
中以“A”作为字符串,而
c2
中有三个不同的值在
c1
中以“B”作为字符串


我猜我需要使用sapply,但我不确定如何使用。

使用
dplyr
df%>%groupby(c1)%%>%summary(v2=n_distinct(c2))
或使用base R
聚合(c2~c1,df,函数(x)长度(unique(x))
。@Ronak Shah:对不起,我的答案几乎相同,我在recaptcha框中识别交通灯,这使我的答案迟到了。@Lenny没有问题,应该始终遵循“交通灯”;-)
aggregate(c2 ~ c1, df, function(x) length(unique(x)))

  c1 c2
1  A  2
2  B  3