0
我試圖從線性模型預測新值,並將其應用於64個項目的列表。我的線性模型稱爲JAN.LIN,我的新值位於名爲JAN.FUT的數據集中。一個小的可重複的例子:從線性模型預測列表中的新值
JAN.FUT <- structure(list(file1 = structure(list(x = c(6L, 5L, 15L, 11L,
14L, 19L, 6L, 16L, 17L, 6L, 13L, 8L, 14L, 14L, 7L, 19L, 4L, 1L,
11L, 3L, 2L, 12L, 15L, 3L, 5L, 14L, 2L, 12L, 13L, 1L, 7L, 5L,
8L, 3L, 19L, 5L, 15L, 13L, 14L, 20L), y = c(29L, 23L, 17L, 14L,
3L, 5L, 24L, 22L, 16L, 21L, 28L, 52L, 28L, 43L, 33L, 60L, 28L,
18L, 11L, 9L, 30L, 15L, 17L, 8L, 44L, 19L, 57L, 59L, 45L, 30L,
9L, 13L, 1L, 60L, 39L, 21L, 35L, 50L, 3L, 44L)), .Names = c("x",
"y")), file2 = structure(list(x = c(11L, 3L, 11L, 5L, 8L, 7L,
6L, 18L, 8L, 17L, 7L, 15L, 19L, 3L, 10L, 12L, 13L, 2L, 9L, 10L,
15L, 13L, 3L, 6L, 16L, 1L, 20L, 5L, 9L, 4L, 12L, 1L, 6L, 13L,
18L, 7L, 18L, 19L, 15L, 13L), y = c(56L, 31L, 40L, 43L, 20L,
45L, 55L, 8L, 43L, 26L, 7L, 52L, 7L, 31L, 11L, 14L, 55L, 26L,
4L, 42L, 34L, 44L, 12L, 4L, 30L, 60L, 23L, 44L, 29L, 55L, 6L,
37L, 11L, 14L, 36L, 52L, 28L, 22L, 31L, 33L)), .Names = c("x",
"y"))), .Names = c("file1", "file2"))
> JAN.LIN
$file1
Call:
lm(formula = x$y ~ x$x)
Coefficients:
(Intercept) x$x
-92.372 1.016
--------------------------------------
$file64
Call:
lm(formula = x$y ~ x$x)
Coefficients:
(Intercept) x$x
-64.2104 0.9928
我試圖使用方法:
PRED=lapply(JAN.FUT, function(x) predict(JAN.LIN, x)
但這提供了以下錯誤:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "list"
任何想法?
能否請您提供前面的步驟,使這是一個[最小的可重複的例子(https://stackoverflow.com/questions/5963269/how-to-make-a -great-R再現的-例子)? – cocquemas
@hfty - 我曾嘗試在上面提供一個可重複的示例 –
什麼是JAN.LIN? –