繁体   English   中英

在R中分类为数值变量

[英]Categorical to Numeric Variable in R

使用10个不带小数的随机数创建因子向量v1。 将因子向量转换为数值向量v2。 逐元素比较v1和v2。 将比较值(对或错)存储在向量中,并显示出来。

我已经试过了:

v1<- factor(round(runif(10)),0)
v1
v2<-as.numeric(v1)
v2
comp<-v1==v2
comp

看看下面的代码。

如果v1是一个因子,则as.numeric(v1)返回有关v1每个元素级别的信息。 在此示例中,第一个元素是5,是因子的第三级,因此数字返回3。

v1的第二个元素是2,这也是第二个级别,因此.numeric返回2,我们在比较v1 == v2时得到TRUE。 还要检查帮助?factor

使用as.numeric(as.character(v1)进行预期的转换。

set.seed(2002)

v1 <- factor(round(10*runif(10),0))
v1
# [1] 5  2  9  0  9  8  8  10 10 9 
# Levels: 0 2 5 8 9 10

str(v1)
#Factor w/ 6 levels "0","2","5","8",..: 3 2 5 1 5 4 4 6 6 5

v2 <- as.numeric(v1)
v2
# [1] 3 2 5 1 5 4 4 6 6 5

v1 == v2
#[1] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE


v2 <- as.numeric(as.character(v1))
v1 == v2
#[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM