假设我们有一个数据帧,比如df

book_id book_category book_word_hi book_word_bye book_word_yes
1       drama         3            0             4
2       action        1            4             5
3       drama         5            3             2

我想计算book_word列中的值的数量,并在表中对每book_category列求和.

所以这里的输出应该是这样的:

drama: 17 
action: 10

有人知道怎么做吗?

推荐答案

这是一款短而简单的R底单层衬里,无需任何额外包装.

tapply(rowSums(df[3:5]), df[2], sum)
#> book_category
#> action  drama 
#>     10     17 

R相关问答推荐

如何使用R对每组变量进行随机化?

我不能在docker中加载sf

如何在区分不同条件的同时可视化跨时间的连续变量?

根据列A中的差异变异列,其中行由列B中的相对值标识

Ggplot2中geom_tile的动态zoom

查找所有站点的最小值

如何将一列中的值拆分到R中各自的列中

扩展R中包含列表的数据框

'使用`purrr::pwalk`从嵌套的嵌套框架中的列表列保存ggplots时出现未使用的参数错误

R代码,用于在线条图下显示观测表

按组跨多列创建伪变量

TidyVerse中长度不等的列结合向量

使用ggplot2绘制具有边缘分布的坡度图

如何使投篮在R中保持一致

把代码写成dplyr中的group_by/摘要更简洁吗?

随机生成样本,同时在R内的随机样本中至少包含一次所有值

如何在给定的环境中找到函数的函数参数?

如何将数据框压缩为更宽,同时将行输入保持为行输入,而不是R中的列名?

迭代通过数据帧创建直方图

使用r box包一次加载所有功能