相关疑难解决方法(0)

如何按组计算唯一值的数量?

ID= c('A', 'A', 'A', 'B', 'B', 'B')
color=c('white', 'green', 'orange', 'white', 'green', 'green')

d = data.frame (ID, color)
Run Code Online (Sandbox Code Playgroud)

我想要的结果是

unique_colors=c(3,3,3,2,2,2)
d = data.frame (ID, color, unique_colors)
Run Code Online (Sandbox Code Playgroud)

或者在新的数据框架中更清楚c

ID= c('A','B')
unique_colors=c(3,2)
c = data.frame (ID,unique_colors)
Run Code Online (Sandbox Code Playgroud)

我试过的不同组合aggregateave以及bywith我想这是这些功能的组合.

解决方案包括:

length(unique(d$color))
Run Code Online (Sandbox Code Playgroud)

计算唯一元素的数量.

r

24
推荐指数
1
解决办法
5万
查看次数

如何汇总R中分类变量的唯一值的计数

假设我有一个数据集data:

x1 <- c("a","a","a","a","a","a","b","b","b","b")
x2 <- c("a1","a1","a1","a1","a1","a1","b1","b1","b2","b2")
data <- data.frame(x1,x2)

x1 x2
a  a1
a  a1 
a  a2
a  a1
a  a2
a  a3
b  b1
b  b1
b  b2 
b  b2
Run Code Online (Sandbox Code Playgroud)

我想找到x1对应的唯一值的数量x2

例如a,只有3个唯一值(a1,a2a3)并且b有2个值(b1b2)

我使用aggregate(x1~.,data,sum)但它没有用,因为这些是因素,而不是整数.

请帮忙

r unique summarization distinct-values

4
推荐指数
1
解决办法
5076
查看次数

R组由| 计算按另一列分组的不同值

如何计算每个页面名称的不同访问 ID 的数量?

visit_id  post_pagename
1       A
1       B
1       C
1       D 
2       A
2       A
3       A
3       B
Run Code Online (Sandbox Code Playgroud)

结果应该是:

post_pagename distinct_visit_ids
A     3
B     2
C     1
D     1
Run Code Online (Sandbox Code Playgroud)

试过

test_df<-data.frame(cbind(c(1,1,1,1,2,2,3,3),c("A","B","C","D","A","A","A","B")))
colnames(test_df)<-c("visit_id","post_pagename")
test_df

test_df %>%
 group_by(post_pagename) %>%
  summarize(vis_count = n_distinct(visit_id))
Run Code Online (Sandbox Code Playgroud)

但这只给了我数据集中不同的visit_id数量

r

3
推荐指数
1
解决办法
9150
查看次数

计算变量R上的变量

Tid <- c(1,1,2,2,2,3,4,4)
Uid <- c(10,10,11,11,12,13,10,14)

Data <- data.frame(Tid,Uid)
Run Code Online (Sandbox Code Playgroud)

我想知道每个Tid上有多少不同的Uid.我的结果应该是这样的.

Tid, freqUid 
1, 1
2, 2
3, 1
4, 2
Run Code Online (Sandbox Code Playgroud)

我试图在它上面使用count但是在一个变量上使用它有一些问题.

r count

1
推荐指数
1
解决办法
180
查看次数

R计算data.table中的字段

我有一个数据表可以减少到这个:

set.seed(1); 
dt<-data.table(form=c(1,1,1,2,3,3,3,4,4,5),
    mx=c("a","b","c","d","e","f","g","e","g","b"),
    vr=runif(10,100,200),
    usr=c("l","l","l","m","o","o","o","l","l","m"),
    type=c("A","A","A","C","C","C","C","C","C","A"))
Run Code Online (Sandbox Code Playgroud)

我可以生成一个表格:

dt[,
    list(n.form=length(unique(form)),n.mx=length(unique(mx)),tot.vr=sum(vr)),
    by=usr]
Run Code Online (Sandbox Code Playgroud)

我无法计算的是A类公式的数量(每行是观察值,form是公式数).我试过了:

dt[,
    list(n.form=length(unique(form)),n.mx=length(unique(mx)),tot.vr=sum(vr),n.A=sum(type=="A"),
    by=usr]
Run Code Online (Sandbox Code Playgroud)

并且:

dt[,
    list(n.form=length(unique(form)),n.mx=length(unique(mx)),tot.vr=sum(vr),n.A=length(unique(type=="A"))),
    by=usr]
Run Code Online (Sandbox Code Playgroud)

但是没有一个考虑到发现的"A"数量需要与唯一的公式(form)数量相关的事实.

我想要的结果是:

   usr n.form n.mx   tot.vr n.A
1:   l      2    5 750.0398   1
2:   m      2    2 296.9994   1
3:   o      1    3 504.4747   0
Run Code Online (Sandbox Code Playgroud)

但我找不到实现它的方法.任何光棚都非常受欢迎.谢谢,

======= 编辑添加 ========

我想知道有多少公式(唯一数字dt$form)是"A"类型(因此我可以计算总公式中的一部分).直接数(sum)是类型A 的观察总数,而存在(any)给出了我是否至少有一个类型为"A" 的公式,而不是该类型的公式数(这是我想要的) ).请注意,任何给定的公式将始终为"A"或"C"类型(在一个公式中不是混合类型)

aggregate r data.table

0
推荐指数
1
解决办法
62
查看次数