Я импортировал файл Excel и получил такой фрейм данных
structure(list(A = structure(1:3, .Label = c("1.100", "2.300",
"5.400"), class = "factor"), B = structure(c(3L, 2L, 1L), .Label = c("1.000.000",
"500", "7.800"), class = "factor"), C = structure(1:3, .Label = c("200",
"3.100", "4.500"), class = "factor")), .Names = c("A", "B", "C"
), row.names = c(NA, -3L), class = "data.frame")
Теперь я хотел бы преобразовать эти chars
в numeric
или даже integer
. Однако точка (.
) - это не десятичный знак, а «разделитель тысяч» (немецкий).
Как мне правильно преобразовать фрейм данных?
Я пробовал это:
df2 <- as.data.frame(apply(df1, 2, gsub, pattern = "([0-9])\\.([0-9])", replacement= "\\1\\2"))
df3 <- as.data.frame(data.matrix(df2))
однако apply
, похоже, преобразует каждый столбец в список факторов. Могу ли я предотвратить это apply
?
read.*
: stackoverflow.com/questions/10823241 / а> - person IRTFM   schedule 05.04.2013