在最近的一个问题中,我尝试使用分组中位数dplyr::coalesce替换来给出答案。NA但我得到了一个
Error: Argument 2 must be an integer vector, not a double vector
Run Code Online (Sandbox Code Playgroud)
错误。试图找出造成这种情况的原因是什么,我终于指出了只有nrow(df)在非偶数时才会出现错误的地方?我有点怀疑这是否真的是解释,但那就是我决定在这里问问题的那一刻:这是什么原因?我发现的唯一相关问题是here,但我不确定这是否是同一个问题?
如果我替换为or ,则不会引发错误!medianminmax
再次:
library(dplyr)
df <- data.frame(ID = 1:7,
Group = c(1, 1, 1, 2, 2, 2, 1),
val1 = c(1, NA, 3, 2, 2, 3, 2),
val2 = c(2, 2, 2, NA, 1, 3, 2))
df %>%
group_by(Group) %>%
mutate_at(vars(-group_cols()), ~coalesce(., median(.,na.rm=TRUE))) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
加薪:
错误:参数 2 必须是整数向量,而不是双精度向量 …
我正在尝试对文件进行一些数据清理。我试图清理的特定字段描述了它最初来自哪个文件。因此,字段中值的末尾总是有“.csv”。我想删除这部分价值,但保留其余部分。
以下是该字段的示例:
File Name
bagel.csv
donut.csv
hamburger.csv
carrots.csv
Run Code Online (Sandbox Code Playgroud)
我希望该字段看起来像这样:
File Name
bagel
donut
hamburger
carrot
Run Code Online (Sandbox Code Playgroud)
有没有办法在R中做到这一点?任何帮助将不胜感激。