You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R循环操作时如何将提取的日期存入turning_point_dates数据框?

问题原因

你初始化的turning_point_dates是0列的空数据框,没有预留存储日期的列结构,循环赋值时无法写入内容,最终只会生成带行号的空数据框。

解决方法

方案1:修改原有循环逻辑

调整初始化代码,提前定义带日期列的空数据框,循环中对指定列赋值即可:

dates = data.frame(Date = seq(from = as.Date("2002-06-01"), to = as.Date("2011-09-30"), by = 'day'))
nums = c(98,99,100,101,102,103,104,105,106,107)
dataframe_of_numbers = data.frame(nums)    

# 初始化带Date列的空数据框,指定日期类型
turning_point_dates = data.frame(Date = as.Date(character(), origin = "1970-01-01"))

for (i in 1:nrow(dataframe_of_numbers)){
  print(dates$Date[dataframe_of_numbers[i,]])
  turning_point_dates[i,"Date"] = dates$Date[dataframe_of_numbers[i,]]
}

turning_point_dates

方案2:使用向量化操作(更简洁,无需循环)

R支持直接通过索引批量提取值,不需要写循环遍历,一行代码即可得到结果:

dates = data.frame(Date = seq(from = as.Date("2002-06-01"), to = as.Date("2011-09-30"), by = 'day'))
nums = c(98,99,100,101,102,103,104,105,106,107)
dataframe_of_numbers = data.frame(nums)    

# 直接索引提取对应日期,生成单列数据框
turning_point_dates = data.frame(Date = dates$Date[dataframe_of_numbers$nums])

turning_point_dates

两种方案运行后都可以得到你期望的、存储了对应日期的单列数据框。

内容的提问来源于stack exchange,提问作者Mind Numb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:54:03