Как написать свою первую функцию в уценке R? - PullRequest
0 голосов
/ 11 сентября 2018

Я пишу свою первую функцию в R Markdown, но не могу заставить ее работать.Кто-нибудь может помочь?

Я работаю с символьной переменной, которая перечисляет даты в формате yyyy-mm-dd, которые я хочу преобразовать в дату в формате 'Jan', 'Feb' и т. Д. Для этогоЯ использовал 2 шага:

  1. Преобразовать символьную переменную в дату, отформатированную так же, как символ следующим образом:

All.abs$MonthBeginning= as.Date(All.abs$MonthBeginning, format= "%Y-%m-%d")

Затем, чтобы изменить дату на 'Ян' и т. Д., Используя следующий код:

All.abs$MonthBeginning= as.Date(All.abs$MonthBeginning, format= "%b")

Я хочу выполнить тот же процесс для той же переменной (MonthBeginning)в двух других data.frames (называемых 'Carbs' и 'Pip.Taz') без необходимости писать 6 строк кода.

Я написал функцию (названную chart_months) следующим образом, но не могу ее получитьна работу:

chart_months= function(x) {
  x= as.Date(x, format= "%Y-%m-%d")
  x= as.Date(x, format= "%b")
}
chart_months(All.abs$MonthBeginning)
chart_months(Carbs$MonthBeginning)
chart_months(Pip.Taz$MonthBeginning)

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 11 сентября 2018

Это не делает:

Затем, чтобы изменить дату на 'Январь' и т. Д., Используя следующий код:

All.abs$MonthBeginning= as.Date(All.abs$MonthBeginning, format= "%b")

, который вы хотите использоватьformat:

> string_date = "2001-05-22"
> date_object = as.Date(string_date, format="%Y-%m-%d")
> short_month = format(date_object, "%b")
> short_month
[1] "May"

Итак, ваша функция должна быть:

get_short_month = function(string_date){
  date_object = as.Date(string_date, format="%Y-%m-%d")
  short_month = format(date_object, "%b")
  return(short_month)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...