我花了很多时间来获得 R 中的每个不同天数:
start <- as.Date(c("2013-02-26", "2013-03-26","2013-04-01","2013-04-26","2013-05-26"))
end <- as.Date(c("2013-03-25","2013-03-31","2013-04-25","2013-05-25","2013-06-25"))
per_cost <- c(3451380,3767052,3726900,4076868,3575311)
x <- data.frame(START_DAY=start, END_DAY=end, PER_COST=per_cost)
x$DIF_DAYS<- x$END_DAY-x$START_DAY
Run Code Online (Sandbox Code Playgroud)
然后,我得到了这个:
START_DAY END_DAY PER_COST DIF_DAYS
1 2013-02-26 2013-03-25 3451380 27 days
2 2013-03-26 2013-03-31 3767052 5 days
3 2013-04-01 2013-04-25 3726900 24 days
4 2013-04-26 2013-05-25 4076868 29 days
5 2013-05-26 2013-06-25 3575311 30 days
Run Code Online (Sandbox Code Playgroud)
我想得到这个输出:
DATE PER_COST
2013-02-26 3451380
2013-02-27 3451380
2013-02-28 3451380
2013-02-29 3451380
...
2013-03-25 3451380
2013-03-26 3767052
2013-03-27 3767052
2013-03-28 3767052
Run Code Online (Sandbox Code Playgroud)
怎么做?
category.1 <- c("TM","TM","CPA","TM","CPC")
category.2 <- c("LS","LS","DSP","DSP","AF")
platform <- c("facebook","facebook","yahoo","google","google")
dat <- data.frame(platform,category.1,category.2)
dat
platform category.1 category.2
1 facebook TM LS
2 facebook TM LS
3 yahoo CPA DSP
4 google TM DSP
5 google CPC AF
Run Code Online (Sandbox Code Playgroud)
当category.1是'TM'和category.2'LS'时,我想把'LS'替换为'LS1'
platform category.1 category.2
1 facebook TM LS1
2 facebook TM LS1
3 yahoo CPA DSP
4 google TM DSP
5 google CPC AF
Run Code Online (Sandbox Code Playgroud)
我试过这种方式,它的返回错误.
dat$category.1[dat$category.1=='TM'& dat$category.2=='LS',] <- 'LS1'
Run Code Online (Sandbox Code Playgroud)
谢谢你的阅读.