R 每组中有多少不同的变量?

R 每组中有多少不同的变量?,r,tidyverse,R,Tidyverse,我有这样一个数据帧: df <- data.frame( ID = c('123','124','125','126'), Group = c('A', 'A', 'B', 'B'), V1 = c(1,2,1,0), V2 = c(0,0,1,0), V3 = c(1,1,0,3)) 我想返回一个表,表明变量是否在组中表示: Group V1 V2 V3 A 1 0 1 B 1 1 1 为了计算每组中不同变量的数量。使用: df %>

我有这样一个数据帧:

df <- data.frame(
  ID = c('123','124','125','126'),
  Group = c('A', 'A', 'B', 'B'),
  V1 = c(1,2,1,0),
  V2 = c(0,0,1,0),
  V3 = c(1,1,0,3))
我想返回一个表,表明变量是否在组中表示:

Group V1 V2 V3
A     1  0  1
B     1  1  1
为了计算每组中不同变量的数量。

使用:

df %>% 
  group_by(Group) %>% 
  summarise_at(vars(V1:V3), funs(as.integer(any(. > 0))))
给出:

# A tibble: 2 × 4
   Group    V1    V2    V3
  <fctr> <dbl> <dbl> <dbl>
1      A     1     0     1
2      B     1     1     1
#一个tible:2×4
组V1 V2 V3
1A 10 1
2b11

可以在
数据中完成。表

require(data.table)
setDT(df)
table <- df[, .(sum(V1) > 0, sum(V2) > 0, sum(V3) > 0), Group]
table
   Group   V1    V2   V3
1:     A TRUE FALSE TRUE
2:     B TRUE  TRUE TRUE

table[, lapply(.SD, as.integer), Group, .SD=2:4]

   Group V1 V2 V3
1:     A  1  0  1
2:     B  1  1  1
require(data.table)
setDT(df)
表0,总和(V2)>0,总和(V3)>0,组]
桌子
组V1 V2 V3
1:真的假的真的
2:B正确
表[,lappy(.SD,as.integer),组,.SD=2:4]
组V1 V2 V3
1:101
2:b1

每当
总结每个
最终被删除时,
df%>%groupby(group)%%>%summary\u at(vars(V1:V3),funs(as.integer(any(.>0)))
(或者如果你愿意的话,去掉
>0
)我猜你骗了用户发布的类似问题
require(data.table)
setDT(df)
table <- df[, .(sum(V1) > 0, sum(V2) > 0, sum(V3) > 0), Group]
table
   Group   V1    V2   V3
1:     A TRUE FALSE TRUE
2:     B TRUE  TRUE TRUE

table[, lapply(.SD, as.integer), Group, .SD=2:4]

   Group V1 V2 V3
1:     A  1  0  1
2:     B  1  1  1