r - 在小标题上按组减去值
问题描述
我有一个简单的小标题,想在分组后计算值的绝对差:
tibb <- tibble(id = c("A", "B", "C","A", "B", "C"), value = c(5,4,3,7,8,9))
# A tibble: 6 x 2
id value
<chr> <dbl>
1 A 5
2 B 4
3 C 3
4 A 7
5 B 8
6 C 9
tibb %>% group_by(id) %>% summarize(diff = function(x,y){abs(x-y)})
dplyr 返回一个错误,指出不支持差异。
输出应如下所示:
# A tibble: 3 x 2
id sum
<chr> <int>
1 A 2
2 B 4
3 C 6
Error in summarise_impl(.data, dots) :
Column `diff` is of unsupported type function
有没有办法计算这个?
解决方案
如果每组中有 2 个值,请尝试以下操作:
tibb <- tibble(id = c("A", "B", "C","A", "B", "C"), value = c(5,4,3,7,8,9))
tibb
tibb %>% group_by(id) %>% summarize(diff = abs(diff(value)))
#or
tibb %>% group_by(id) %>% summarize(diff = abs(value[1] - value[2]))
推荐阅读
- regex - AWS Athena regexp_extract() 损坏
- python - pywinauto paython我的鼠标光标在使用空间动作时移动为什么
- python - 过滤除数字中的“+”和“-”之外的特殊符号,例如 (!@#$%..etc)
- javascript - 使用 JQuery 将 Javascript 本地存储变量发送到 MySql 数据库
- keras - 100 维向量的监督分类
- python - 方法 POST 不允许 [DRF]
- python - Pandas Group by dict 值
- android - 更新到新的库版本后,导航撰写状态保存中断
- python - 为什么我在我的 python 程序中不断遇到“EOFError:读取文件时出现 EOF”?
- javascript - DataTables 警告:表 id=document_table - 无效的 JSON 响应