【发布时间】:2021-05-04 23:15:33
【问题描述】:
我希望能够创建一个逻辑变量,用于指示对于特定类别,一组子组行(即“组”变量中的 A、B、C)的计数总和是否相同值作为我的“全部”/整体组行。
我的数据如下:
group = c("All", "A", "B", "C", "All", "A", "B", "C")
category = c("music", "music", "music", "music", "movies", "movies", "movies", "movies")
count = c(120, 15, 75, 30, 250, 36, 28, 72)
data <- data.frame(cbind(group, category, count))
我想要的是添加“sum_to_all”列,如:
sum_to_all = c(TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE)
data <- data.frame(cbind(group, category, count, sum_to_all))
在这种情况下,对于音乐类别,“计数”变量子组“A”、“B”和“C”总和为“全部”组中的计数 (TRUE),但对于电影则不是 (FALSE)类别。
我知道我可以将数据集重新调整为宽,其中每个组都有自己的“计数”列并比较列,但我想知道是否有一个简单的逐行解决方案。提前致谢。
【问题讨论】:
-
顺便说一句,
data.frame(cbind(group, category, count))将您的所有数字转换为文本,因为cbind首先是matrix。你可以跳过那部分,直接做data.frame(group, category, count)
标签: r data-wrangling rowwise