2014-10-21 2 views
0

Я знаю, что это элементарно, но я не могу понять, даже после чтения других сообщений.Почему значение моего столбца коэффициента не изменится на значение даты?

В наборе данных я хочу преобразовать целую колонку в дату. Текущий класс является фактором.

Значение в поле выглядит следующим образом 12/25/2012

Это то, что я пробовал.

C$DateofDeath=as.Date(C$DateofDeath,'%m/%d/%Y') 
Error in as.Date.default(C$DateofDeath, "%m/%d/%Y") : 
    do not know how to convert 'C$DateofDeath' to class “Date” 

C$DateofDeath=as.Date(C$DateofDeath,"%m/%d/%Y") 
Error in as.Date.default(C$DateofDeath, "%m/%d/%Y") : 
    do not know how to convert 'C$DateofDeath' to class “Date” 

Claims$DateofDeath=strptime(as.character(Claims$DateofDeath),format= '%m/%d/%Y') 
Error in `$<-.data.frame`(`*tmp*`, "DateofDeath", value = list(sec = numeric(0), : 
    replacement has 0 rows, data has 71616 

Claims$DateofDeath=strptime(as.character(Claims$DateofDeath),format= "%m/%d/%Y") 
Error in `$<-.data.frame`(`*tmp*`, "DateofDeath", value = list(sec = numeric(0), : 
    replacement has 0 rows, data has 71616 
+0

Вы должны добавить языковой тег. – csmckelvey

ответ

0

Применение as.POSIXct

С $ DateofDeath < -as.POSIXct (as.character (С $ DateofDeath), формат = "% d /% м /% Y")

0

Здесь много экспертов R, но вы должны указать R как один из ваших тегов, чтобы они могли заметить ваш вопрос.

Похоже, вы пробовали кучу комбинаций, но не правильный.

> C <- data.frame(DateofDeath="12/25/2012",other=TRUE) 
> as.Date(as.character(C$DateofDeath),format="%m/%d/%Y") 
[1] "2012-12-25" 

Обратите внимание, что as.Date() принимает ввод символов, а не коэффициент. Поэтому вам нужно преобразовать в символ, а затем в Date.

Ваши версии strptime() кажутся мне прекрасными, за исключением того, что вы вызываете, ссылаются на dataframe Claims вместо C. Фактически strptime() должен преобразовать коэффициент в символ для вас, так что вам не нужна часть as.character().

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