Как я могу использовать уровень фактора с известным форматом даты для информирования остальной части моего кадра данных?

os.stat включает время создания. Нет никакого определения st_anything для элемента os.stat(), который содержит время.

Итак, попробуйте это:

os.stat('feedparser.py')[8]

Сравните это с вашим создать дату в файле в ls -lah

Они должны быть одинаковыми.

0
задан Manassa Mauler 18 January 2019 в 16:47
поделиться

2 ответа

После нескольких испытаний я узнал, что ifelse от базовых принуждений к удвоению. if_else однако помогает решить проблему:

   library(tidyverse)
      df %>% 
  mutate(id=as.factor(id),
         date=if_else(id=="A",dmy_hm(date),mdy_hm(date)))

Результат:

 date                id   
   <dttm>              <fct>
 1 2014-01-10 08:00:00 A    
 2 2014-01-10 06:00:00 A    
 3 2014-01-09 18:00:00 A    
 4 2014-01-09 15:00:00 A    
 5 2014-01-09 12:00:00 A    
 6 2014-01-09 10:00:00 A    
 7 2014-10-01 10:00:00 B    
 8 2014-10-01 10:00:00 B    
 9 2014-10-01 10:00:00 B    
10 2014-10-01 10:00:00 B    
0
ответ дан NelsonGon 18 January 2019 в 16:47
поделиться

Вы можете сделать это с помощью dplyr функций mutate и case_when, чтобы использовать столбец id для применения функции dmy_hm или mdy_hm соответственно.

library(dplyr)
library(tibble) # for tribble
library(lubridate)

df <- tribble(~date, ~id,
"10/01/2014 08:00", "A", # these are day/month/year format
"10/01/2014 06:00", "A",
"09/01/2014 18:00", "A",
"09/01/2014 15:00", "A",
"09/01/2014 12:00", "A",
"09/01/2014 10:00", "A",
"10/01/2014 10:00", "B", # these are month/day/year format
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B")

mutate(df, date = case_when(id == "A" ~ dmy_hm(date),
                        id == "B" ~ mdy_hm(date)))
#> # A tibble: 10 x 2
#>    date                id   
#>    <dttm>              <chr>
#>  1 2014-01-10 08:00:00 A    
#>  2 2014-01-10 06:00:00 A    
#>  3 2014-01-09 18:00:00 A    
#>  4 2014-01-09 15:00:00 A    
#>  5 2014-01-09 12:00:00 A    
#>  6 2014-01-09 10:00:00 A    
#>  7 2014-10-01 10:00:00 B    
#>  8 2014-10-01 10:00:00 B    
#>  9 2014-10-01 10:00:00 B    
#> 10 2014-10-01 10:00:00 B

Создано в 2019-01-18 с помощью пакета представитель (v0.2.1)

0
ответ дан Jake Kaupp 18 January 2019 в 16:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: