2016-01-29 5 views
2

Я использую библиотеку xlsx в R, чтобы прочитать лист excel. Я использовал следующую команду. Мои данные являются числовыми/float с NA для отсутствующих значений и первого столбца как имя (строка/символ). Тем не менее, все столбцы имеют тип character, и я не смог найти, могу ли я как-то указать NA значения как отсутствующие значения. Любые предложения по устранению проблемы?тип данных с read.xlsx в R

df=read.xlsx(file0, sheetName = 'sheet1', as.data.frame = TRUE, 
      header = TRUE, use.value.labels=FALSE, stringsAsFactors=FALSE) 
+1

Было бы приемлемо удалить NA как второй шаг ?: 'df [df == 'NA'] <- NA', за которым следует:' df <- sapply (df, as.numeric) ' –

+4

вы можете рассмотреть используя 'read_excel' из' readxl', который имеет возможность указать 'NA'. – MichaelChirico

+0

Моя первая мысль была «но не« read.xlsx »имеет параметр NA?», Но не видел ее в документации. Конечно, это было 'read_excel'. Не сумасшедший Хэдли и др. приходил и фиксировал вещи, но это затрудняет сохранение вещей. –

ответ

1

Вы также можете попробовать

df[]=lapply(df,type.convert,as.is=TRUE) 

type.convert попытается найти подходящий класс каждого столбца и преобразования соответственно. Без опции as.is=TRUE он преобразует столбцы character в факторы. Он также обрабатывает строки NA. Значение по умолчанию na.strings="NA" должно быть в порядке для вас.

Смежные вопросы