小编K.I*_*I.N的帖子

给定开始日期和结束日期,重塑/扩展之间每一天的数据(连续的每一天)

我花了很多时间来获得 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)

怎么做?

diff r date

4
推荐指数
1
解决办法
2169
查看次数

如何替换数据框中的特定单词

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)

谢谢你的阅读.

r

2
推荐指数
1
解决办法
96
查看次数

标签 统计

r ×2

date ×1

diff ×1