私はすべての数値データでdata.frameを扱っています。私は各列の一次自己回帰係数を計算したいと思います。私は、タスクを実行するために関数を適用選んだと私は次のように機能を定義しました。私のデータフレームに `lapply`を使って` ar`(自己回帰モデル)を適用すると `numeric(0)`が返されますか?
return.ar <- function(vec){
return(as.numeric(ar(vec)$ar))
}
その後、私は私が期待していた以下の
lapply(df_return[,col.names],return.ar)
として、私は、列名によってサブセットデータフレームに適用しar係数を持つベクトルを得る。しかし、代わりに、次のような最初の要素にすべての係数を入れたリストを得ました。
$C.Growth
[1] 0.35629140 -0.07671252 -0.08699333 -0.27404355 0.21448342
[6] -0.19049197 0.06610908 -0.23077602
$Mkt.ret
numeric(0)
$SL
numeric(0)
$SM
numeric(0)
$SH
numeric(0)
$LL
numeric(0)
$LM
numeric(0)
$LH
numeric(0)
私は何が起こっているのか分かりません。
dput(head(df_return))
の出力は次のようになります。
structure(list(Year = c(1929, 1930, 1931, 1932, 1933, 1934),
C.Growth = c(0.94774902516838, 0.989078396169958, 0.911586749357132,
0.996183522774413, 1.08170234030149, 1.05797659377887), S.Return = c(-19.7068321696574,
-31.0834309393085, -45.2864376593084, -9.42504715968666,
57.0992131145999, 4.05781718258972), Rf = c(4.79316783034255,
2.58656906069154, 1.24356234069162, 0.954952840313344, 0.199213114599945,
0.147817182589718), Inflation = c(-0.0531678303425544, -0.15656906069154,
-0.15356234069162, -0.00495284031334435, 0.100786885400055,
0.0321828174102824), Mkt.ret = c(-14.9668321696574, -28.6534309393085,
-44.1964376593084, -8.47504715968666, 57.3992131145999, 4.23781718258972
), SL = c(-45.2568321696575, -35.1134309393085, -41.1864376593084,
-5.28504715968666, 166.0392131146, 34.1378171825897), SM = c(-30.7368321696574,
-31.9034309393085, -48.5364376593084, -8.94504715968666,
118.7092131146, 19.7578171825897), SH = c(-36.7568321696575,
-45.1834309393085, -51.5364376593084, 2.78495284031334, 125.7792131146,
7.95781718258972), LL = c(-19.6968321696574, -26.2734309393085,
-36.2264376593084, -7.31504715968666, 44.1492131145999, 10.6978171825897
), LM = c(0.673167830342554, -29.2434309393085, -59.9864376593084,
-16.7150471596867, 89.4692131145999, -2.93218281741028),
LH = c(-4.35683216965745, -43.1934309393085, -57.7364376593084,
-4.30504715968666, 114.7092131146, -21.8421828174103)), .Names = c("Year",
"C.Growth", "S.Return", "Rf", "Inflation", "Mkt.ret", "SL", "SM",
"SH", "LL", "LM", "LH"), row.names = c(NA, 6L), class = "data.frame")
Zheyuan Li私はそれも試みましたが、同じ結果が返されました。 –
私は 'lapply(df_return [col.names]、return.ar)'を試しましたが、同じ結果を得ました.. –
col.namesは 'c(c(" C.Growth "、" Mkt.ret ")として定義されています、名前(df_return)[7:12]) '。確かに私はそれが機能していないことを伝えようとしているだけではない、あなたの助けに感謝します。 –