gpt4 book ai didi

r - 使用数据类型名称列表更改数据类型

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

从数据类型名称列表更改数据框列的数据类型的优雅方法是什么?

这是一个示例(我正在寻找 change_to_data_types 函数):

my_df <- iris
my_types <- c("factor", "character", "double", "logical", "character")
my_df <- my_df %>% change_to_data_types(my_types)
my_types具有与 my_df 中的列数相同的元素数并且转换以相同的顺序完成。

这是“不优雅”方式的一个例子
my_df$Sepal.Length <- my_df$Sepal.Length %>% as.factor()
my_df$Sepal.Width <- my_df$Sepal.Width %>% as.character()
#etc...

最佳答案

一个选择是

library(tidyverse)
my_df[] <- map2(my_df, str_c("as.", my_types), ~ get(.y)(.x))

或在 base R
my_df[] <- Map(function(x, y) get(y)(x), my_df, paste0("as.", my_types))

- 再次检查类(class)
sapply(my_df, class)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# "factor" "character" "numeric" "logical" "character"

关于r - 使用数据类型名称列表更改数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56773354/

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