检查因子变量是整数还是浮点数

时间:2016-02-28 14:32:32

标签: r type-conversion

我有一个数字向量,可以是整数或双globals$out$data$randrating

将其转换为表后,相同的值返回一个整数,因为它是类因子,无论data_rating $ rating中存储的值是什么:

> data_rating <- as.data.frame(table(globals$out$data$randrating))
> colnames(data_rating) <- c("rating", "freq")

> class(data_rating$rating)
[1] "factor"

> typeof(data_rating$rating)
[1] "integer"

如何检查这些数据是整数还是浮点数?

这是导致这一个的前一个question

使用可重复数据更新问题

> data_rating

   | rating | freq
1  |      4 |  312
2  |    7.1 |  324
3  |      8 |  340
4  |    8.5 |  962
5  |    8.7 | 1640

1 个答案:

答案 0 :(得分:-1)

使用以下代码,您可以在转换为数字格式后检查数据是否为整数类型:

all.equal(as.numeric(levels(data_rating$rating)), 
          as.integer(as.numeric(levels(data_rating$rating)))) == TRUE

如果该操作返回TRUE,那么它是一个整数,如果它返回FALSE,则它是一个浮点数。