У меня есть кадр данных в R
, который я загрузил из файла CSV.Одна из переменных называется «Сумма» и должна содержать положительные и отрицательные числа.
Когда я посмотрел на фрейм данных, тип этой переменной указан как фактор, и мне нужен его в числовом формате (хотя не уверен, какой это тип - целое число - числовое, ммм ...?).Итак, я попытался преобразовать его в один из этих двух форматов, но увидел интересное поведение.
Исходный кадр данных:
str(df)
Amount : Factor w/ 11837 levels "","-1","-10",..: 2 2 1664 4 6290 6290 6290 6290 6290 6290 ...
Как я упоминал выше, я увидел нечто странное, когда пытался преобразовать его в числовое или целое число.Чтобы показать это, я собрал это сравнение:
df2 <- data.frame(df$Amount, as.numeric(df$Amount), as.integer(df$Amount))
str(df2)
'data.frame': 2620276 obs. of 3 variables:
$ df.Amount : Factor w/ 11837 levels "","-1","-10",..: 2 2 1664 4 6290 6290 6290 6290 6290 6290 ...
$ as.numeric.df.Amount.: num 2 2 1664 4 6290 ...
$ as.integer.df.Amount.: int 2 2 1664 4 6290 6290 6290 6290 6290 6290 ...
> head(df2, 20)
df.Amount as.numeric.df.Amount. as.integer.df.Amount.
1 -1 2 2
2 -1 2 2
3 -201 1664 1664
4 -100 4 4
5 1 6290 6290
6 1 6290 6290
7 1 6290 6290
8 1 6290 6290
9 1 6290 6290
10 1 6290 6290
11 1 6290 6290
12 1 6290 6290
13 1 6290 6290
14 1 6290 6290
15 1 6290 6290
16 1 6290 6290
17 1 6290 6290
18 2 7520 7520
19 2 7520 7520
20 2 7520 7520
Функции as.numeric
и as.integer
берут переменную Amount и что-то с ней делают, но я не знаю, что это такое.Моя цель - перевести переменную Amount в некоторый тип числового типа данных, чтобы я мог выполнить для него сумму / среднее / и т. Д.
Что я делаю неправильно, что вызывает странные цифры, и что я могу сделать, чтобы это исправить?