执行操作后丢失我的小数

时间:2017-10-22 16:09:56

标签: r decimal missing-data read.csv

我遇到了一个我无法解决的问题。我在R方面没有太多经验,所以欢迎任何帮助。

好的,我有一个名为supermarkt2015_afst的变量,它是到超市的距离。它从0.1到99.9。公里。 但是,该变量包含一些MISSING值。

由于这些字段实际上被称为"MISSING",我不想要100公里以上的任何东西,所以我要清理它;

datamodel2 <- datamodel2 %>% mutate(supermarkt2015_afst=ifelse(supermarkt2015_afst=="MISSING",NA,supermarkt2015_afst))

datamodel2 <- datamodel2 %>% mutate(supermarkt2015_afst=ifelse(supermarkt2015_afst>100,NA,supermarkt2015_afst))
datamodel2 <- datamodel2 %>% filter(!is.na(supermarkt2015_afst))

这确实清除了MISSING值,并抛弃了我观察到的大约三分之一。这正是我想要的。然而。变量现在从2-99变化。不像2.1 2.2 2.3,只有圆形数字。一切都出错了?当我运行“typeof”时,它表示我的变量是Integer。我想要的是与1之前的精确度相同的精度。但由于某些原因,它也会改变我的变量。

我的数据中的一个变量看起来像

dput(head(datamodel2$supermarkt2015_afst)) 

structure(c(3L, 3L, 3L, 3L, 3L, 3L), .Label = c("0,1", "0,2", "0,3", "0,4", "0,5",
 "0,6", "0,7", "0,8", "0,9", "1,0", "1,1", "1,2", "1,3", "1,4", 
"1,5", "1,6", "1,7", "1,8", "1,9", "10,0", .............. "6,4", "6,5", "6,6",
 "6,7", "6,8", "6,9", "7,0", "7,1", "7,2", "7,3", "7,4", "7,5", "7,6", "7,7", 
"7,8", "7,9", "8,0", "8,1", "8,2", "8,3", "8,6", "8,9", "9,0", "9,1", "9,2", 
"9,3", "9,6", "MISSING"), class = "factor")

0 个答案:

没有答案