我有一个数据框,其列包括以下内容:id、feature_1、feature_2 和 feature_3。
df = data.frame(
id = sample(letters, 5),
feature_1 = sample(1:10, 5),
feature_2 = runif(5),
feature_3 = rnorm(5)
)
我希望将所有特征列都重命名,通过添加前缀的方式。以下代码行不起作用并且会输出错误。
df %>%
rename_with(~(ifelse(names(.x) == "id", paste0("source_", names(.x)), "id")))
Error in names[cols] <- .fn(names[cols], ...) :
replacement has length zero
你有没有任何修改这个的提示?在rename_with中,.x代表什么?提前感谢!
.
或.x
都会被识别为此引用。 - LMcdf %>% rename_with(~(ifelse(.x == "id", paste0("source_", .x), "id")))
也不起作用。 - Salty Gold Fishdf %>% mutate(across(starts_with("feature"), ~ . + 1))
中的点并不代表列名。 - LMcdf%>% rename_with(〜paste0(“source_”,。),.cols = -c(1:2,4))
- Susie Derkins