作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不是一个有经验的编码员,过去几周刚刚开始学习 R,以帮助完成一些与我的博士相关的工作。这是问题:
我一直在尝试使用 R 中的 missForest 包将缺失值归入数据集中许多小时,但没有成功。下面是我在伪造数据集上遇到的问题的代表性示例。
数据集包含分类的数值。导入后,我使用以下代码将类设置为“因子”
data <- read.csv("~Data.csv", colClasses = c(rep('factor',3)))
>data
a b c
1 2 3
4 5
7 8 9
为了验证类设置是否正确,我运行:
missForest::varClass(data)
返回:
[1] "factor" "factor" "factor"
然后我尝试插补和查看数据,但我得到了原始数据集,但数据点仍然缺失,而不是插入了插补值。
data.imp <- missForest(data)
data.imp$ximp
a b c
1 2 3
4 5
7 8 9
上面的示例显示了我如何导入数据并将其转换为因子并尝试估算丢失的数据。下面的例子是一个可重现的例子,它产生了同样的问题。
#install and load the missForest package and library
install.packages("missForest")
library(missForest)
#create the test data frame with a missing value in column c
a <- c("1","4","7")
b <- c("2","5","8")
c <- c("3","","9")
data.test <- data.frame(a,b,c)
#print the data
data.test
#view the class of the data to ensure it is "factor"
missForest::varClass(data.test)
#create the imputed data frame using missForest
data.test.imp <- missForest(data.test)
#print the imputed data frame
data.test.imp$ximp
上面的代码返回以下内容,但 c 列中的值仍然缺失
> data.test
a b c
1 1 2 3
2 4 5
3 7 8 9
> missForest::varClass(data.test)
[1] "factor" "factor" "factor"
> data.test.imp <- missForest(data.test)
missForest iteration 1 in progress...done!
missForest iteration 2 in progress...done!
> data.test.imp$ximp
a b c
1 1 2 3
2 4 5
3 7 8 9
如果我将所有数据转换为数字,它会将值插补到缺失的数据点中,尽管这些插补值是小数并且我的所有数据都是整数,但它仍然有效......
最佳答案
这似乎真的是一个小问题。在您的 data.test
您有需要编码为缺失的空字符串。
你可以用 str
测试一下:
str(data.test)
# 'data.frame': 3 obs. of 3 variables:
# $ a: Factor w/ 3 levels "1","4","7": 1 2 3
# $ b: Factor w/ 3 levels "2","5","8": 1 2 3
# $ c: Factor w/ 3 levels "","3","9": 2 1 3
c
包含
""
这也被编码为一个类别。
data.test[data.test == ""] <- NA
data.test
# a b c
# 1 1 2 3
# 2 4 5 <NA>
# 3 7 8 9
missForest
作品:
data.test.imp <- missForest::missForest(data.test)
data.test.imp$ximp
# a b c
# 1 1 2 3
# 2 4 5 9
# 3 7 8 9
关于r - MissForest 不会归咎于我的分类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60910025/
我不是一个有经验的编码员,过去几周刚刚开始学习 R,以帮助完成一些与我的博士相关的工作。这是问题: 我一直在尝试使用 R 中的 missForest 包将缺失值归入数据集中许多小时,但没有成功。下面是
我正在使用一个名为 missForest 的包来估计我的数据集中的缺失值。我的问题是:我们如何并行执行此过程以缩短获得结果所需的时间?请引用这个例子(来自 missForest 包): data(i
在使用“missforest”包在 R 中执行数据插补时,需要帮助解决以下错误。 > imputed<- missForest(dummy, maxiter = 10, ntree = 100, va
运行 missForest 包后,我无法获取估算的数据帧。 我正在使用样本数据来检查 missForest。 iris.na <- iris set.seed(111) for (i in 1:4)
我是一名优秀的程序员,十分优秀!