【问题标题】:Error in the application of the spread to the lakers data set of the lubricated package涂抹润滑包的湖人队数据集应用错误
【发布时间】:2020-11-26 22:01:00
【问题描述】:

我试图根据 lubridate 软件包的数据湖人队,分析 2008 年至 2009 年间每位湖人队球员的得分,并展示每年的结果。

我正在尝试以下代码:

date <- lubridate :: lakers

date <- date %>%
  mutate (Year = str_sub (date, 1, 4))%>%
  filter (points> 0 & team == 'LAL')%>%
  select (Year, player, points)%>%
  group_by (Year, player)%>%
  summarise (Total_points = sum (points))%>%
  ungroup ()%>%
  spread (player, points)  

但它在传播中失败并出现以下错误:

Erro: Must extract column with a single valid subscript.
x Subscript `var` has the wrong type `function`.
ℹ It must be numeric or character.

我想知道问题出在哪里。感谢您的帮助。

【问题讨论】:

    标签: r dplyr tidyverse tidyr spread


    【解决方案1】:

    唯一的问题是你忘记了当你总结points时你给了它Total_points的名字。您在最后一行调用points。此错误表示未找到您的变量。只需更正最后一行中的变量名称即可:

    date <- lubridate :: lakers
    
    date <- date %>%
      mutate(Year = (str_sub(date, 1, 4))) %>%
      filter(points> 0 & team == 'LAL')%>%
      select(Year, player, points)%>%
      group_by(Year, player) %>%
      summarise(Total_points = sum(points))%>%
      ungroup()%>%
      spread(player, Total_points)
    

    【讨论】:

    • 非常感谢@LuizZ,我没有尝试过这个......
    • @VeltonSousa - 不客气。如果对您有用,请接受答案
    • 我试图接受,但我仍然没有接受的最低声望。
    • 嗨@VeltonSousa,接受答案没有声誉要求。请在此处查看如何接受:meta.stackexchange.com/questions/5234/…。您只需要单击复选标记。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
    • 谢谢@LuizZ,我是这个环境的初学者。感谢您的支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多