gpt4 book ai didi

r - 如何对值上具有相同日期的所有行进行回归?

转载 作者:行者123 更新时间:2023-12-02 01:08:35 25 4
gpt4 key购买 nike

我是 R 的新手。我有以下示例数据集:

> head(abn)
Dates DTM YTM
1 2010-09-28 1133 2.965
2 2010-09-28 1834 3.613
3 2010-09-29 1132 2.994
4 2010-09-29 1833 3.595
5 2010-09-30 1131 3.026
6 2010-09-30 1832 3.590

观察值是 2010 年至 2016 年观察期内的几个债券值(value)。我的数据集由期限在 1-15 年(数据集中描述的 260-3900 个工作日)之间的多个债券组成。DTM 代表到期日,YTM 代表到期 yield 。

我的目标是构建一个每天到期 5 年的合成债券。因此,我需要进行回归并找到 DTM 值 1300 的 YTM 值,正好是 5 年。

我需要获取 x=1300 处的 y 轴值。但是我需要分别为每个日期提供此信息。

我得到了帮助,那个人给了我这个代码:

library(dplyr)
newval <- data.frame(DTM=1300) #predict.lm likes new values in a dataframe
abn5y <- abn %>% group_by(Dates) %>%
summarise(Y5=predict(lm(YTM ~ DTM), newval))

这成功了。但是我加载了下一个数据集。

head(bmp))
Dates DTM YTM
<dttm> <dbl> <dbl>

1 2007-11-02 1498 4.7822 2007-11-02 1892 4.8833 2007-11-02 1300 4.9344 2007-11-05 1497 4.7685 2007-11-05 1891 4.8806 2007-11-05 1299 4.924'

并使用相同的代码并得到以下错误,但尝试不同。

bmp5y <- bmp %>% group_by(Dates) %>% + + summarise(Y5=predict(lm(YTM ~ DTM), newval)) Error in eval(predvars, data, env) : object 'YTM' not found

bmp5y <- bmp %>% group_by(dates) %>% + summarise(Y5=predict(lm(ytm ~ dtm), newval)) Error in grouped_df_impl(data, unname(vars), drop) : Column dates is unknown

bmp5y <- bmp %>% group_by(Dates) %>% + summarise(Y5=predict(lm(ytm ~ dtm), newval)) Error in summarise_impl(.data, dots) : Column Y5 must be length 1 (a summary value), not 6563 In addition: Warning message: 'newdata' had 1 row but variables found have 6563 rows

似乎是什么问题?

最佳答案

从问题中不清楚正在使用哪些代码和数据,但以可重现和可验证的方式重建它,将下面的代码复制并粘贴到新的 R session 中——它运行时没有任何错误消息:

Lines <- "
Dates DTM YTM
1 2007-11-02 1498 4.782
2 2007-11-02 1892 4.883
3 2007-11-02 1300 4.934
4 2007-11-05 1497 4.768
5 2007-11-05 1891 4.880
6 2007-11-05 1299 4.924"
bmp <- read.table(text = Lines)

library(dplyr)
newval <- data.frame(DTM=1300)
bmp %>% group_by(Dates) %>% summarise(Y5=predict(lm(YTM ~ DTM), newval))

给予:

# A tibble: 2 x 2
Dates Y5
<fctr> <dbl>
1 2007-11-02 4.876237
2 2007-11-05 4.863499

关于r - 如何对值上具有相同日期的所有行进行回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46379832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com