我尝试了在线搜索,但找不到方法来进行理算和划分。
我想要完成的是,Geslacht
的所有值都是按Operatie
计算的,并除以该Operatie
中的人数(行)。因此,我希望每个Operatie
的值都在0和1之间有一个比率(单个值)。 Operatie
上升到100。
以代数形式df$ratio <- sum(df$Geslacht(grouped_by = "Operatie")) / n
数据如下:
Operatie Geslacht jaar_ervaring
1 1 0 5
2 1 1 5
3 1 0 3
4 2 0 5
5 2 1 5
6 2 1 3
x(operatie 1) == 0+1+0 = 1/3 == .333
x(operatie 2) == 0+1+1 = 2/3 == .666
...
x(operatie 100)
我的尝试或封锁;
new_df <- df %>%
group_by(Operatie , Geslacht ) %>%
count()
礼物:
Operatie Geslacht n
<int> <dbl> <int>
1 1 0 2
2 1 1 1
3 2 0 1
4 2 1 2
我必须在count()中指定某些内容还是需要其他函数?有森林和树木的东西。
预先感谢
解决方案:
new_df <- df %>%
drop_na() %>% # if we want "ignore" NAs when counting
group_by(Operatie) %>%
summarise(ratio = sum(Geslacht)/n())
答案 0 :(得分:2)
new_df <- df %>% group_by(Operatie) %>%
summarise(ratio = sum(Geslacht)/n())
给予:
# A tibble: 2 x 2
Operatie ratio
<dbl> <dbl>
1 1 0.333
2 2 0.667
答案 1 :(得分:2)
Base R方法:
aggregate(df$Geslacht, list(df$Operatie), mean)
Group.1 x
1 1 0.3333333
2 2 0.6666667