После загрузки данных R преобразует символьные строки как факторы, если не указано иное. Затем мы должны преобразовать Факторы в символьные или числовые на основе базовых данных. В случае числовых значений мы сначала преобразуем в символьную строку, используя as.character (), а затем преобразуем результат в as.integer () в случае целочисленных значений.
Но после очистки символов изчисло с помощью gsub, R автоматически преобразует очищенные строки в символы.
Например:
> sal <- data.frame(name = c('abc','def','ghi','pqr'),
+ Salary = c('$65,000','$102,000','$85,000','$72,000'))
> str(sal)
'data.frame': 4 obs. of 2 variables:
$ name : Factor w/ 4 levels "abc","def","ghi",..: 1 2 3 4
$ Salary: Factor w/ 4 levels "$102,000","$65,000",..: 2 1 4 3
> sal$Salary <- gsub('\\$','',sal$Salary)
> sal$Salary <- gsub(',','',sal$Salary)
> str(sal)
'data.frame': 4 obs. of 2 variables:
$ name : Factor w/ 4 levels "abc","def","ghi",..: 1 2 3 4
$ Salary: chr "65000" "102000" "85000" "72000"
>
Мы видим, как после gsub столбец «Зарплата» меняется с Фактора на Символ. Может кто-нибудь сообщить мне, если gsub также выполняет здесь операцию as.character ()? Если это так, не преобразует ли столбец целые числа, поскольку все значения являются целыми числами?