【发布时间】:2021-07-14 18:19:33
【问题描述】:
我有一个包含 ID 和字符串值的数据框,其中一些我比其他人更喜欢:
library(dplyr)
d1<-data.frame(id=c("a", "a", "b", "b"),
value=c("good", "better", "good", "good"))
我想用数字处理与以下示例等效的内容:
d2<-data.frame(id=c("a", "a", "b", "b"),
value=c(1, 2, 1, 1))
d2 %>% group_by(id) %>%
summarize(max(value))
所以如果一个 ID 有多个值,我总是会得到每个 ID 的最大数字:
# A tibble: 2 x 2
id `max(value)`
<fct> <dbl>
1 a 2
2 b 1
等效,如果一个 ID 有多个字符串,我总是想为 d1 数据帧提取首选字符串:如果我们有“好”,则使用该行,如果另一行有“更好”,则使用该行,从而消除重复的 ID。
例子是任意的,也可以是>>如果我们有“yes”和“unknown”那么取“yes”,否则取“unknown”
那么dplyr::summarize() 函数是否有“提取最佳字符串”函数?
结果应该是这样的:
id | value
----------
"a"| "better"
"b"| "good"
【问题讨论】:
-
您可能会觉得这很有帮助stackoverflow.com/questions/67179036/…