Я прочитал два CSV-файла и сделал некоторые изменения.Функция Sapply в R
a1<-read.csv("2013.csv",header=T, na.strings = c("NULL","PrivacySuppressed"))
a2<-a1[,441,drop=F]
a3<-a1[,-441,drop=F]
a4<-cbind(a1,a2)
a4<-a4[, colSums(is.na(a4)) != nrow(a4)]
mode(a4)
[1] "list"
мне нужно a4 быть целым числом, поэтому я использовал sapply
s<-sapply(a4, as.numeric)
mode(s)
[1] "numeric"
Однако, проблема в том, что имена столбцов исчезли.
names(s)
NULL
Все предыдущие данные имели имена столбцов. Извините, здесь невозможно ввести, так как существует 600 переменных (600 разных имен столбцов). У меня были имена для моей колонки до a4. После применения «sapply», имена говорят «NULL». Когда я просто вводю s, я вижу имена столбцов, но не обнаруживает их как имена столбцов. Пожалуйста помоги.
спасибо.
Я думаю, что это вопрос лучше всего подходит для StackOverflow. –
Попробуйте 'colnames (s)', так как 'sapply()' возвращает матрицу. И 'as.integer()', если вам нужны целые числа. 'as.numeric()' не будет принуждать к целому числу. Но, вероятно, что вы действительно хотите, это 'a4 [] <- lapply (a4, as.integer)'. Это сохранит класс фрейма данных, позволяя использовать 'names (a4)' –
Я попробовал функцию lapply. ы <-lapply (а4, as.integer). Он возвратил имена столбцов, но потерял его тусклый (-ы) -> NULL. – user3350759