Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Adding an extra column that gives a value for day of the week

I would like to add a column to my dataset that assigns to each date a number based on the week it is in

So I would have for day1 day2… etc day7 a value in the column for the days part of that week equal to 1, and for day8, day 9 etc… till day 14 a value equal to 2

what would be the best way to add that column ?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

dput(head(sdata0))
structure(list(date = structure(c(18628, 18629, 18630, 18631, 
18632, 18633), class = "Date"), launches = c(-0.423325435196192, 
-0.95406180171082, -0.95406180171082, -0.95406180171082, 0.107410931318437, 
-0.423325435196192), pledged = c(-0.242997575062835, -0.300759417946595, 
-0.300759417946595, -0.300759417946595, 0.120035260531115, -0.103075942164302
), backers = c(-0.124417670254619, -0.269239525943361, -0.269239525943361, 
-0.269239525943361, 0.0620404689446357, -0.0918327527246523), 
    total_goal = c(-0.314834573033319, -0.33600837985916, -0.33600837985916, 
    -0.33600837985916, -0.205436571099805, -0.283073862794557
    ), mean_goal = c(-0.350195946618206, -0.422316295398803, 
    -0.422316295398803, -0.422316295398803, -0.199945219991962, 
    -0.24201542344731), US = c(0.179454667531907, -0.720497098001238, 
    -0.720497098001238, -0.720497098001238, 0.179454667531907, 
    -0.720497098001238), `number of success` = c(0.23782061224498, 
    -0.594551530612449, -0.594551530612449, -0.594551530612449, 
    1.07019275510241, 0.23782061224498), duration_days = c(-0.0399540270332042, 
    -1.6958261375219, -1.6958261375219, -1.6958261375219, 0.0152417099830856, 
    -0.0399540270332042), Twitter = c(-2.35635395414648, -1.37949565613006, 
    -2.47410026685382, -1.21813959797556, -0.995729896195041, 
    -1.226861547065), replies = c(-1.11872430995012, -0.454408610464075, 
    -1.06845177052955, -0.874543404193084, -1.24799655417443, 
    -0.906861465249162), likes = c(-0.812127568832484, -0.63113030668481, 
    -1.40968119485432, -1.1127549475184, -1.2106558412922, -1.22498280135666
    ), retweets = c(-0.606241425199139, -0.766152931679175, -1.64441036779204, 
    -1.39868247694445, -1.31077301003134, -1.3509601949059), 
    group_date = c("01", "01", "01", "01", "01", "01")), row.names = c(NA, 
6L), class = "data.frame")`

>Solution :

You can use the function week from lubridate like this:

library(dplyr)
library(lubridate)
sdata0 %>%
  mutate(week_number = week(ymd(date)))
#>         date   launches    pledged     backers total_goal  mean_goal         US
#> 1 2021-01-01 -0.4233254 -0.2429976 -0.12441767 -0.3148346 -0.3501959  0.1794547
#> 2 2021-01-02 -0.9540618 -0.3007594 -0.26923953 -0.3360084 -0.4223163 -0.7204971
#> 3 2021-01-03 -0.9540618 -0.3007594 -0.26923953 -0.3360084 -0.4223163 -0.7204971
#> 4 2021-01-04 -0.9540618 -0.3007594 -0.26923953 -0.3360084 -0.4223163 -0.7204971
#> 5 2021-01-05  0.1074109  0.1200353  0.06204047 -0.2054366 -0.1999452  0.1794547
#> 6 2021-01-06 -0.4233254 -0.1030759 -0.09183275 -0.2830739 -0.2420154 -0.7204971
#>   number of success duration_days    Twitter    replies      likes   retweets
#> 1         0.2378206   -0.03995403 -2.3563540 -1.1187243 -0.8121276 -0.6062414
#> 2        -0.5945515   -1.69582614 -1.3794957 -0.4544086 -0.6311303 -0.7661529
#> 3        -0.5945515   -1.69582614 -2.4741003 -1.0684518 -1.4096812 -1.6444104
#> 4        -0.5945515   -1.69582614 -1.2181396 -0.8745434 -1.1127549 -1.3986825
#> 5         1.0701928    0.01524171 -0.9957299 -1.2479966 -1.2106558 -1.3107730
#> 6         0.2378206   -0.03995403 -1.2268615 -0.9068615 -1.2249828 -1.3509602
#>   group_date week_number
#> 1         01           1
#> 2         01           1
#> 3         01           1
#> 4         01           1
#> 5         01           1
#> 6         01           1

Created on 2022-07-30 by the reprex package (v2.0.1)

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading