我遇到了一个我无法解决的问题。我在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")