gpt4 book ai didi

r - 查找和替换NA中DataFrame中所有列的值

转载 作者:行者123 更新时间:2023-12-01 14:18:06 24 4
gpt4 key购买 nike

Age <- c(90,56,51,'NULL',67,'NULL',51)
Sex <- c('Male','Female','NULL','male','NULL','Female','Male')
Tenure <- c(2,'NULL',3,4,3,3,4)
df <- data.frame(Age, Sex, Tenure)

在上面的示例中,有'NULL'值作为字符串/字符串格式。
我正在尝试估算NA而不是'NULL'值。我能够将单个列作为 df$age[which(df$Age=='NULL)]<-NA'来使用,但是我不想为所有列都编写它。

如何将相似的逻辑应用于所有列,以便将 'NULL'的所有 df值都转换为 NAs?我猜 apply或自定义函数或for循环会做到这一点。

最佳答案

我们可以使用dplyr对所有列中的replace值进行'NULL',然后使用type.convert转换列的类型。当前,所有列均为factor类(假设“年龄/天体”应为numeric/integer类)

library(dplyr)
res <- df %>%
mutate_all(funs(type.convert(as.character(replace(., .=='NULL', NA)))))
str(res)
#'data.frame': 7 obs. of 3 variables:
#$ Age : int 90 56 51 NA 67 NA 51
#$ Sex : Factor w/ 3 levels "Female","male",..: 3 1 NA 2 NA 1 3
#$ Tenure: int 2 NA 3 4 3 3 4

关于r - 查找和替换NA中DataFrame中所有列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48011643/

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