2016-02-28 64 views
-1

我有数字,可以是整数类型或双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 
+0

你能否就实际问题以及你想达到什么做一个可重复的例子。非常不清楚这个Q/A它是... –

+1

那么你为什么不使用'is.double(globals $ out $ data $ randrating)'并且用它呢? – Laterow

+0

这是一个因素,所以'is.double()'将会是'FALSE'。 – Stibu

回答

-1

使用以下代码来检查数据是否是整数类型或不被转换为数字格式后:

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

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

+0

当anwser被低估时,为了至少让人们理解为什么, –

相关问题