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