gpt4 book ai didi

r - 更改数据框列表中的特定列 - R

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

在数据框列表中:( mylist<-list(iris, mtcars, ToothGrowth) ),如何仅对列表中的特定列进行更改?

例如,我有一个字符向量( test )给出列名 "Petal.Width""drat" .如何将这些名称与数据框列表中的列名称匹配并应用类似 log(x + 1) 的内容?

到目前为止,我能够获得所需的列 out on their own ,但我不确定如何将整个数据框列表保存在一起,只更改几列。谢谢

最佳答案

我首先定义了你想要应用的函数,在你的例子中 log(x + 1) :

myfun <- function(x) {
log(x + 1)
}

然后使用 purrr::map浏览列表和 dplyr::mutate_at匹配列名:
library(tidyverse)
mylist %>%
map(~mutate_at(.x, vars(one_of(c("Petal.Width", "drat"))), myfun))

请注意,这会发出警告,因为并非所有数据框都包含这些列。您可以使用 matches()相反,如果警告打扰您:
mylist %>% 
map(~mutate_at(.x, vars(matches("^Petal\\.Width|drat$")), myfun))

关于r - 更改数据框列表中的特定列 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49786490/

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