Добавьте переменную, включая день недели - PullRequest
0 голосов
/ 01 июня 2018

Это может показаться повторением, но я еще не нашел точного ответа на этот вопрос.У меня есть dataframe :

  Day.of.the.month    Month Year   Items Amount.in.euros
1                1  January 2005 Nothing            0.00
2                2 February 2008    Food            7.78
3                3    April 2009 Nothing            0.00
4                4  January 2016     Bus            2.00

Я хочу создать столбец с именем "day.of.the.week", включающий, конечно, "субботу", "воскресенье" и так далеена.Если бы дата была отформатирована как «2012/02/02», у меня не было бы проб, но таким образом я не знаю, есть ли способ или обходной путь для решения проблемы.

Любой намек?

Ответы [ 2 ]

0 голосов
/ 01 июня 2018
Day.of.the.month<-as.numeric(c(1,2,3,4))
Month<-as.character(c("January","February","April","January"))
Year<-as.numeric(c(2005,2008,2009,2016))
Items<-as.character(c("Nothing","Food","Nothing","Bus"))
Amount.in.euros<-as.numeric(c(0.00,7.78,0.0,2.0))
complete.date<-paste(Year,Month,Day.of.the.month)
strptime(complete.date, "%Y %B %d")
example1.data <- 
data.frame(Day.of.the.month,Month,Year,Items,Amount.in.euros,complete.date)
example1.data$weekday <- weekdays(as.Date(example1.data$complete.date))
0 голосов
/ 01 июня 2018

Вы хотите это?

options(stringsAsFactors = F)
df <- data.frame( x = c(1, 2, 3, 4) ,y = c("January", "February","April", "January"), z = c(2005, 2008, 2009, 2016))

weekdays(as.Date(paste0(df$x, df$y, df$z),"%d%B%Y")) # %d for date, %B for month in complete and %Y for year complete

Это просто примечание

Примечание : поскольку кто-то прокомментировал, чтоэто решение зависит от локали.Поэтому, если это так, вы всегда можете выполнить «Sys.setlocale("LC_TIME", "C")», чтобы также изменить настройки локали, используйте Sys.getlocale() для получения настроек локали.

Если кто-то заинтересован сделать это постоянным при запуске сеанса REverytime:

Вы также можете написать приведенный ниже скрипт в файл .RProfile (который обычно находится в вашем домашнем каталоге, в Windows он в основном находится в папке Documents):

.First <- function() {
   Sys.setlocale("LC_TIME", "C")
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...