【问题标题】:Create a data frame from loop从循环创建数据框
【发布时间】:2013-08-17 06:26:43
【问题描述】:

如何为 wkend 创建一个数据框而不是打印它?

wkend<-as.Date(c("2013-01-04","2013-01-05","2013-01-06"),"%Y-%m-%d")
while(wkend < "2013-12-27") { 
   wkend <- wkend + 7
print(wkend)
 }

【问题讨论】:

  • 嗨,欢迎来到 SO。由于您是新手,您可能需要阅读网站的aboutFAQ 部分,以帮助您充分利用它。如果某个答案确实解决了您的问题,您可能需要考虑投票和/或将其标记为已接受,以表明问题已得到回答,方法是勾选合适答案旁边的绿色小复选标记。您没有义务这样做,但它有助于保持网站没有未回答的问题,并奖励那些花时间解决您的问题的人。

标签: r date loops dataframe subset


【解决方案1】:

如果您想要data.frame,则需要将最后一天调整为 1,否则您的行数会不均匀。但是您可以使用lapplyseq.Date 函数应用于wkend 向量中的每个元素,如下所示:

df <- data.frame( lapply( wkend , seq , to = as.Date( "2013-12-26" , "%Y-%m-%d" ) , by = 7 ) )
names( df ) <- c("Col1","Col2","Col3") # Call the columns whatever you want
head(df)
    Col1       Col2       Col3
1 2013-01-04 2013-01-05 2013-01-06
2 2013-01-11 2013-01-12 2013-01-13
3 2013-01-18 2013-01-19 2013-01-20
4 2013-01-25 2013-01-26 2013-01-27
5 2013-02-01 2013-02-02 2013-02-03
6 2013-02-08 2013-02-09 2013-02-10

【讨论】:

    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2015-08-18
    相关资源
    最近更新 更多