如何替换<;NA>;用一个数字表示R中的单因子变量? 数据:dat 变量:v1
我尝试过这个,但它没有取代“如何替换<;NA>;用一个数字表示R中的单因子变量? 数据:dat 变量:v1,r,R,我尝试过这个,但它没有取代“”(没有空格) cwm$v1符号是系数中缺少的值: > factor(c("a",NA,"b")) [1] a <NA> b Levels: a b > v2 <- c("a",NA,"b") > v2[is.na(v2)] <- 9 > v1 <- factor(v2) > v1 [1] a 9 b Levels: 9 a b 原因很简单:9不是该因素的水平。因此,为了完成此操作,您需要在转
cwm$v1符号
是系数中缺少的值:
> factor(c("a",NA,"b"))
[1] a <NA> b
Levels: a b
> v2 <- c("a",NA,"b")
> v2[is.na(v2)] <- 9
> v1 <- factor(v2)
> v1
[1] a 9 b
Levels: 9 a b
原因很简单:9不是该因素的水平。因此,为了完成此操作,您需要在转换为因子之前进行替换:
> factor(c("a",NA,"b"))
[1] a <NA> b
Levels: a b
> v2 <- c("a",NA,"b")
> v2[is.na(v2)] <- 9
> v1 <- factor(v2)
> v1
[1] a 9 b
Levels: 9 a b
符号
是系数中缺少的值:
> factor(c("a",NA,"b"))
[1] a <NA> b
Levels: a b
> v2 <- c("a",NA,"b")
> v2[is.na(v2)] <- 9
> v1 <- factor(v2)
> v1
[1] a 9 b
Levels: 9 a b
原因很简单:9不是该因素的水平。因此,为了完成此操作,您需要在转换为因子之前进行替换:
> factor(c("a",NA,"b"))
[1] a <NA> b
Levels: a b
> v2 <- c("a",NA,"b")
> v2[is.na(v2)] <- 9
> v1 <- factor(v2)
> v1
[1] a 9 b
Levels: 9 a b
cwm$v1[is.na(cwm$v1)]尝试is.na(cwm$v1)
了解条件?问题似乎在于它是而不是na-is.na函数没有改变值。@GeorgeTarr这是因为您不了解因子是如何工作的。查看我的答案。cwm$v1[is.na(cwm$v1)]尝试is.na(cwm$v1)
了解条件?问题似乎在于它是而不是na-is.na函数没有改变值。@GeorgeTarr这是因为您不了解因子是如何工作的。看看我的答案。