【问题标题】:Using For with time series in R在 R 中使用 For 时间序列
【发布时间】:2016-06-27 20:14:08
【问题描述】:

例如我有这个数据框名称 DATA

Date        A 
22/02/2016  2
22/02/2016  6
23/02/2016  7
23/02/2016  9
24/02/2016  4
24/02/2016  8

首先我按天制作一个时间序列来创建一个新的数据框

require(zoo)
B <- as.POSIXct(strptime(DATA$Date, "%d/%m/%Y"))
Time_series <- seq.POSIXt(from=B[1],to=B[6],by="day")
DATA_2 <- data.frame(Time_series)

Time_series      
22/02/2016 
23/02/2016  
24/02/2016  

现在我想在每个日期中输入变量 A 的平均值

A <- DATA$A

for (i in Time_series){
print(mean(A[which( B == i)]))
}

[1] 4
[1] 8
[1] 6

我的问题从这里开始,当我想制作一个打印值的向量时。

想法是将向量添加到DATA_2

【问题讨论】:

  • 你可以试试tapply:tapply(DATA, DATA$Date, mean)

标签: r for-loop zoo


【解决方案1】:

您可以使用此代码:

DATA_2$MEAN <-sapply(Time_series, function(x){
  mean(A[which( B == x)])
})

这是输出:

> DATA_2
  Time_series MEAN
1  2016-02-22    4
2  2016-02-23    8
3  2016-02-24    6

【讨论】:

    【解决方案2】:
    require(zoo)
    DATA <- data.frame(Date = seq(Sys.Date(),Sys.Date()+9,by=1), A=rnorm(10))
    
    B <- as.POSIXct(strptime(DATA$Date, "%Y-%m-%d"))
    Time_series <- seq.POSIXt(from=B[1],to=B[10],by="day")
    DATA_2 <- data.frame(Time_series)
    
    A <- aggregate(DATA,by=list(DATA$Date), mean)
    
    DATA_2 <- cbind(DATA_2, A$A)
    colnames(DATA_2) <- c("Date", "Mean of Response for this Date")
    DATA_2
    
             Date Mean of Response for this Date
    1  2016-06-27                    0.537861522
    2  2016-06-28                   -0.872163819
    3  2016-06-29                   -0.538401384
    4  2016-06-30                    1.162449246
    5  2016-07-01                   -1.490553854
    6  2016-07-02                    0.220161925
    7  2016-07-03                    0.057615735
    8  2016-07-04                   -0.955184268
    9  2016-07-05                    0.007144786
    10 2016-07-06                   -0.157812297
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-03
      • 2013-01-30
      • 1970-01-01
      • 2023-03-16
      • 2020-06-29
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多