gpt4 book ai didi

r - dplyr 在列的子集上同时保留其余的 data.frame

转载 作者:行者123 更新时间:2023-12-04 11:27:12 25 4
gpt4 key购买 nike

我正在尝试使用 dplyr 将函数应用于列的子集。但是,与下面的代码相反,我试图在将所有列保留在数据框中的同时实现这一点。目前,生成的数据框仅保留选定的列。我可以使用 remove-and-cbind 结构将这些列合并回原始数据帧,但我想知道是否有办法直接在 dplyr 中执行此操作?我曾尝试将 select 函数移动到 mutate 函数中,但还无法完成这项工作。

require(dplyr)
Replace15=function(x){ifelse(x<1.5,1,x)}
dg <- iris %>%
dplyr::select(starts_with("Petal")) %>%
mutate_each(funs(Replace15))
dg

> dg
Source: local data frame [150 x 2]

Petal.Length Petal.Width
1 1.0 1
2 1.0 1
3 1.0 1
4 1.5 1
5 1.0 1
6 1.7 1
7 1.0 1
8 1.5 1
9 1.0 1
10 1.5 1

最佳答案

dg <- iris %>% mutate_each(funs(Replace15), matches("^Petal"))

或者(由@aosmith 发布)您可以使用starts_with。查看 ?select,了解 selectsummarise_eachmutate_each 中可用的其他特殊函数。

关于r - dplyr 在列的子集上同时保留其余的 data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31054745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com