У меня есть такой кадр данных:
head(m,20)
snp1 snp2 r2
1 rs7278528 rs7278528 1.000
2 rs234750 rs7278528 0.841
3 rs413621 rs7278528 0.841
4 rs413624 rs7278528 0.568
5 rs4920017 rs7278528 0.841
6 rs393280 rs7278528 0.821
7 rs1788470 rs7278528 0.568
8 rs10887972 rs7278528 0.568
9 rs439861 rs7278528 0.568
10 rs1672133 rs7278528 0.841
11 rs370994 rs7278528 0.841
12 rs442981 rs7278528 0.841
...
Я хотел бы рассчитать и вывести в отдельный столбец для каждого уникального значения в snp2, сколько snp1 имеет r2> 0,8
Я устал делать это, но безуспешно:
m %>%
group_by(snp1) %>%
summarize(sumR2 = sumRows(snp1[r2>0.8]))
ОБНОВЛЕНИЕ
это решило мою проблему:
t <- filter(m, r2 >= 0.8) %>% group_by(snp1) %>% mutate(ldbuds = length(r2))