gpt4 book ai didi

r - 如何从 R 中的数据集中删除问号(?)

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

大家好我正在分析UCI成人census数据。对于每个缺失值,数据都有问号 ( ? )。

我想用 NA 替换所有的问号.

我试过:

library(XML)
census<-read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data",header=F,na.strings="?")
names(census)<-c("Age","Workclass","Fnlwght","Education","EducationNum","MaritalStatus","Occupation"
,"Relationship" , "Race","Gender","CapitalGain","CapitalLoss","HoursPerWeek","NativeCountry","Salary" )

table(census$Workclass)

? Federal-gov Local-gov Never-worked Private Self-emp-inc
1836 960 2093 7 22696 1116
Self-emp-not-inc State-gov Without-pay
2541 1298 14

x

<-ifelse(census$Workclass=="?",NA,census$Workclass)
table(x)
x
1 2 3 4 5 6 7 8 9
1836 960 2093 7 22696 1116 2541 1298 14

但它没有用。

请帮忙。

最佳答案

这是替换 " ?" 的简单方法与 NA在所有列中。

# find elements
idx <- census == " ?"
# replace elements with NA
is.na(census) <- idx

这个怎么运作?

命令 idx <- census == " ?"创建一个与数据框 census 具有相同行数和列数的逻辑矩阵.这个矩阵 idx包含 TRUE哪里 census包含 " ?"FALSE在其他位置。

矩阵 idx用作索引。命令 is.na(census) <- idx用于替换 census 中的值在 idx 中的位置与 NA .

注意函数 is.na<-在这里使用。与 is.na 不一样功能。

关于r - 如何从 R 中的数据集中删除问号(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28061122/

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