Итак, я работаю в этой таблице:
Я пытаюсь вычислить среднее значение Langzeitarbeitslose, но не могу, потому что
is.numeric
выходит как false, потому что столбец Langzeitarbeitslose определен как символ.
Я думаю, это может быть потому, что здесь, в Германии, мы используем "," для отображения десятичных знаков, а не "."
я уже пробовал
as.numeric(gsub(",", ".", West_data$Langzeitarbeitslose))
это дало мне рабочую таблицу в предварительном просмотре консоли, но когда я посмотрел на таблицу с
view(West_Data)
Он по-прежнему показывал десятичные дроби Langzeitarbeitslose, разделенные символами «,» и
is.numeric(West_Data$Langzeitarbeitslose)
вернулся как ложный.
@zx8754 zx8754 Я импортировал его с помощью команды read.csv
. Есть ли способ определить десятичные знаки для запятой, когда моя полная таблица уже прочитана?
Нам нужно обновить столбец: West_data$Langzeitarbeitslose <- as.numeric(gsub(",", ".", West_data$Langzeitarbeitslose))
Попробуйте еще раз с read.csv("myfile.csv", dec = ",")
Думаю, вам нужно присвоить результат as.numeric(gsub(",", ".", West_data$Langzeitarbeitslose))
столбцу West_data$Langzeitarbeitslose
West_data$Langzeitarbeitslose <- as.numeric(gsub(",", ".", West_data$Langzeitarbeitslose))
Результатом print(West_data)
будет:
Raumeinheit Langzeitarbeitslose
1 Hamburg 33.23
2 Berlin 44.56
Приведение типа данных можно проверить здесь:
> str(West_data)
'data.frame': 2 obs. of 2 variables:
$ Raumeinheit : chr "Hamburg" "Berlin"
$ Langzeitarbeitslose: num 33.2 44.6
работал. Я не знал, что должен обращаться к столбцу как к объекту. Спасибо.
Вы назначаете преобразование типа обратно в свой фрейм данных?
используя tidyverse
# reproducible data using dput()
df <- structure(list(Raumeinheit = c("Hamburg", "Berlin"), Langzeitarbeitslose = c("33,23",
"44,56")), row.names = c(NA, -2L), class = c("tbl_df", "tbl",
"data.frame"))
df <- df %>%
mutate(Langzeitarbeitslose =
as.numeric(gsub(",", ".",Langzeitarbeitslose)))
# A tibble: 2 × 2
Raumeinheit Langzeitarbeitslose
<chr> <dbl>
1 Hamburg 33.2
2 Berlin 44.6
Как вы импортировали эти данные? Используя read.table, вы можете установить десятичные дроби в запятую:
dec = ","
.