尝试在R中运行Lars回归时出现“ rep(1,n)中的错误:无效的'times'参数”

时间:2019-05-07 19:40:31

标签: r lars

我正在尝试在R中使用lars进行回归。但是,我不断收到此错误:

  

rep(1,n)中的错误:无效的'times'参数。

这是我的代码:

IN: dput(head(LBJ09))
OUT: structure(list(G = c("1", "2", "3", "4", "5", "6"), Date = c("2008-10-28", 
"2008-10-30", "2008-11-01", "2008-11-03", "2008-11-05", "2008-11-07"
), Age = c("23-303", "23-305", "23-307", "23-309", "23-311", 
"23-313"), Tm = c("CLE", "CLE", "CLE", "CLE", "CLE", "CLE"), 
    Home = c("@", "", "@", "@", "", ""), Opp = c("BOS", "CHA", 
    "NOH", "DAL", "CHI", "IND"), GS = c("1", "1", "1", "1", "1", 
    "1"), MP = c("36:00", "30:16", "37:43", "34:08", "35:50", 
    "39:20"), FG = c("9", "7", "6", "8", "13", "11"), FGA = c("21", 
    "15", "15", "20", "23", "24"), FGP = c(".429", ".467", ".400", 
    ".400", ".565", ".458"), `3PM` = c("0", "0", "0", "0", "0", 
    "1"), `3PA` = c("4", "2", "3", "2", "2", "6"), `3PP` = c(".000", 
    ".000", ".000", ".000", ".000", ".167"), FT = c("4", "8", 
    "3", "13", "15", "4"), FTA = c("8", "12", "4", "15", "16", 
    "7"), FTP = c(".500", ".667", ".750", ".867", ".938", ".571"
    ), ORB = c("1", "2", "2", "2", "2", "2"), DRB = c("6", "7", 
    "5", "6", "7", "7"), TRB = c("7", "9", "7", "8", "9", "9"
    ), AST = c("6", "9", "13", "3", "6", "8"), STL = c("2", "0", 
    "3", "2", "4", "1"), BLK = c("1", "1", "0", "1", "0", "4"
    ), TOV = c("3", "5", "5", "1", "5", "4"), PF = c("4", "3", 
    "3", "1", "1", "2"), PTS = c("22", "22", "15", "29", "41", 
    "27"), GmSc = c("14.1", "17.0", "15.3", "24.0", "36.0", "21.5"
    )), row.names = c(NA, 6L), class = "data.frame")

library(lars)
lars09 <- lars(LBJ09$PTS, LBJ09$FG+LBJ09$AST+LBJ09$`3PM`+LBJ09$FT+LBJ09$TRB+
                          LBJ09$STL+LBJ09$BLK, type = "lasso")
plot(lars09)

我希望lars包能够成功运行,因为所有LBJ变量都是列中的数字数据。但是,lars甚至无法运行。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

# Convert variables from character to numeric
vars <- c("PTS", "FG", "AST", "3PM", "FT", "TRB", "STL", "BLK")
LBJ09[, vars] <- sapply(LBJ09[, vars], as.numeric)

# Create the X matrix of explanatory variables and the y vector with the outcome
X <- as.matrix(LBJ09[, vars[-1]])
y <- LBJ09[, vars[1]]

lars09 <- lars(x=X, y=y, type = "lasso")
plot(lars09)