如何计算满足R中特定条件的每列(按组)中的行数

Mishalb

我有一个与这里的链接类似的问题(如何计算满足R中特定条件的每列中的行数),但是我似乎无法使用相同的解决方案,因此我再次伸出援手。

我有一个数据集

mydata <- read.table(header=TRUE, text="
  rime   point   sound   school
  50      80       50     es
  80      80       20     es
  5       90       80     es
  0       10       80     ms
  50      80       50     ms
  80      80       20     ms
  5       90       80     hs
  0       10       80     hs
  5       90       80     hs
  0       10       80     hs
")

对于每一列,我想知道学校所观察到的百分比> = 50%。最终产品应该是一个看起来像这样的数据框。

mydata_clean <- read.table(header=TRUE, text="
  rime      point     sound     school
  66.7%     100%      66.7%     es
  66.7%     66.7%     66.7%     ms
  0%        50%       100%      hs
")

这似乎是一个显而易见的案例,group_by(School)然后进行总结,但是我没有得到所需的信息。

我尝试了以下代码:

mydata %>%
  group_by(school) %>%
  summarise_at(vars(rime, point, sound), sum)

但这只给了我每一列的总和,这不是我想要的。

有任何想法吗?

试试这个tidyverse方法。您可以通过pivot_longer()保持学校变量数据重塑为长时间之后,创建一个变量以检查值是否达到所需条件。最后,您summarise()可以使用来计算期望值这些期望值被格式化为百分比paste0()提醒一下,列是字符类型。这里的代码:

library(tidyverse)
#Code
mydata %>% pivot_longer(-school) %>%
  group_by(school,name) %>%
  mutate(Var=ifelse(value>=50,1,0)) %>%
  summarise(Perc=paste0(100*round(mean(Var),3),'%')) %>%
  pivot_wider(names_from = name,values_from=Perc)

输出:

# A tibble: 3 x 4
# Groups:   school [3]
  school point rime  sound
  <fct>  <chr> <chr> <chr>
1 es     100%  66.7% 66.7%
2 hs     50%   0%    100% 
3 ms     66.7% 66.7% 66.7%

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算满足R中特定条件的每一列的行数

如何计算“ group by”组中满足特定条件的行数

如果组满足 R 中的特定条件,则省略组

如何删除满足R中某些特定条件的行

计算两列中满足条件的行数

如果一组特定列中的值满足特定条件,则返回整行

计算满足 R 中多个条件的行数

如何确定在R中连续两个时间段满足特定条件的组

计算满足特定条件的postgreSQL表中的项目

计算列表中满足特定条件的值

在SAS中,如果满足特定条件,如何停止标记一组行?

计算Pandas数据框中符合特定条件的行数

Prolog-如何计算列表中满足特定条件的元素数?

如果组中的一行在熊猫中满足特定条件,如何选择组的所有行

满足特定条件后在列中查找值

如何将满足特定条件的列的标题返回给pandas中的新列

如果Oracle中满足特定条件,如何附加括号

在MySQL中满足特定条件时如何排除行

如果SQL中满足特定条件,如何返回整数?

如何根据特定条件在R中交换两列?

r-在列中满足特定条件时保留行

如何使用MongoDB聚合框架计算满足特定条件的组数?

当列满足熊猫中的特定条件时,如何拉一审?

如何在Python的Multiindex列中串联满足特定条件的Pandas数据框

对于满足R中特定条件的情况,如何用0替换缺失值?

如何在R中只留下满足特定条件的行

在 R-studio 中,如何使用相同的 [i] 重复 for 循环,直到满足特定条件?

如何计算AWK中满足数字条件的行数?

如何计算满足多个条件的数据框中的行数?