2016-05-05 2 views
1

Моя переменная date сохраняет значение «NA», когда я использую команду as.Date().as.Date команда в R возвращает NA

Я практически перепробовал все различные способы, которые включают в себя

(а) с указанием происхождения аргумента; (б) установка локали (с) превращение исходной переменной в символы перед чтением в файле CSV (read.csv("<file name>.csv", stringsAsFactors=FALSE) (д) с указанием формата в as.Date аргумента (е) превращение исходной переменной в числовом

Я читаю файл .csv в R. структура исходной переменной:

$ Date.Sold    : Factor w/ 30 levels "","01/10/2015",..: 1 1 1 1 1 

Я попытался преобразовать $Date.Sold поле в переменной даты, так что я в конечном итоге может извлечь год от него. Команда, которую я использую:

SP$Date.Sold = as.Date("SP$Date.Sold",format="%Y/%m/%d", origin="1899-12-30") 

Справка!

ответ

2

Попробуйте это:

SP$Date.Sold = as.Date(SP$Date.Sold,format="%d/%m/%Y") 

, но если вы просто хотите, чтобы извлечь год, вы можете сделать следующее:

SP$Date.Sold = substr(SP$Date.Sold,7,11) 
+1

вау это работает! спасибо огромное :) Я очень новичок в Р. просто интересно, почему формат = "% Y /% m /% d" не может работать? R потребует отформатировать дату в следующем порядке: ? – hagewhy

+0

@hagewhy Вы применили функцию 'as.Date()' к строке (вы вложили 'SP $ Date.Sold' в" "), а не в сам столбец. Кроме того, формат даты должен соответствовать фактическому формату из столбца. Если бы мой ответ был полезным, отметьте его как принятый. – maRtin

+0

спасибо, что помогли! :) – hagewhy