gpt4 book ai didi

r - 一种在 R 中更改数据框中列类型的优雅方法

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

我有一个 data.frame,其中包含不同类型的列,例如整数、字符、数字和因子。

我需要将整数列转换为数字,以便在下一步分析中使用。

示例:test.data 包含 4 列(尽管我的真实数据集中有数千列):agegender 工作年数姓名agework.years 是整数,gender 是因子,name 是字符。我需要做的是将 agework.years 更改为数字类型。我编写了一段代码来执行此操作。

test.data[sapply(test.data, is.integer)] <-lapply(test.data[sapply(test.data, is.integer)], as.numeric)

尽管可行,但看起来还不够好。所以我想知道是否有一些更优雅的方法来实现这个功能。任何有创意的方法都将受到赞赏。

最佳答案

我认为优雅的代码有时是主观的。对我来说,这很优雅,但与OP的代码相比,它的效率可能较低。但是,由于问题是关于优雅的代码,因此可以使用它。

test.data[] <- lapply(test.data, function(x) if(is.integer(x)) as.numeric(x) else x)

此外,另一个优雅的选择是dplyr

library(dplyr)
library(magrittr)
test.data %<>%
mutate_each(funs(if(is.integer(.)) as.numeric(.) else .))

关于r - 一种在 R 中更改数据框中列类型的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315085/

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