0
當我將as.numeric和as.integer應用於列時,它會更改這些值。爲什麼是這樣?例如:as.numeric將實際值更改爲最初是因素的數據。
test <- data.frame(structure(c("52053,34", "79032,83", "20679,06", "20799,56", "20679,06",
"21279,45", "51789,44", "54189,45", "73138,89", "73138,89"), .Dim = c(10L,
1L)))
names(test)[names(test) == "structure.c..52053.34....79032.83....20679.06....20799.56....20679.06..."] <- "column"
test$b <- as.numeric(test$column)
test$c <- as.integer(test$column)
哇謝謝!這是一個很好的解釋:) –
這是令人困惑的「水平(測試$列)顯示的因素水平的標籤。」當然水平(測試$列)返回水平和標籤(測試$列)返回標籤? –
@steve,根據R使用的命名法,實際上只有用於表示因素的內部整數以及用於放棄因子時可以使用的字符串,並且可以使用「levels」函數來提取。一個因素由內部使用整數1,2等表示的數據部分和levels屬性組成。沒有其他屬性。如果'fac'是一個因子,那麼'attr(fac,「levels」)和'levels(fac)'都會給出一個唯一值的字符串。 –