【问题标题】:How to extract several rows from a data frame?如何从数据框中提取几行?
【发布时间】:2020-02-02 02:16:52
【问题描述】:

这是我的数据框的头部

date ,mkt.rf,smb,hml,rf
19990104,-0.0019,0.0021,0.0045,0.00019
19990105,0.011,-0.0088,0.0012,0.00019
19990106,0.021,-0.007,-0.004,0.00019
19990107,-7e-04,0.0046,-0.0022,0.00019
19990108,0.0045,-5e-04,0.0038,0.00019

如您所见,日期的结构不是日期格式,而是 int 格式。我没有尝试转换为日期格式,因为这对我来说也很复杂。我正在尝试提取从 20180806 到 20180808 的信息。

我试过 df$new_variable <- df[df$year == 20180806] 。我很确定这并不完全正确,我仍然错过了 2 个月

你能帮我做这件事吗?

【问题讨论】:

  • 您是否尝试过任何代码来解决您的问题?尝试一些东西并在此处发布以获取反馈是个好主意。
  • 如果您将问题中显示的数据缩进 4 个空格,那么将为您正确格式化。
  • 感谢 G.grothendieck!

标签: r date dataframe statistics


【解决方案1】:

我们可以从base R使用subset

subset(df1, date >= 20180806 & date <=20180808)

【讨论】:

  • 我正在尝试使用子集公式将数据存储在新变量中,但出现错误。这就是我所做的一些事情:new_var = 20180806 & date
  • 我还有一个问题。日期变量似乎只包括交易日,我应该像上面一样做,但包括 20180730 之前的 250 天的估计期。因此每周缺少 2 天。有没有一种有效的方法可以通过使用子集函数来做到这一点?即使我倒数 250 天,我也会错过将近 2*35 周 =70 天。
  • @alatriste 你是说data &gt;= (20180730 - 250)
  • 是的,但如果我这样做,我就不会包括所有日期。该变量的构造方式忽略了周末。第一周是一天:1,2,3,4,5 然后跳转到第二周 8,9,10,11,12
  • 我认为使用索引列会更好!不过谢谢
猜你喜欢
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多