R 错误:“mutate()”输入“gap”有问题。二进制运算符i输入的x非数值参数
我是R方面的新手,正在使用gapminder数据集尝试一些绘图 这个数据集是从gapminder网站下载的最新数据,它返回了一个关于变异的错误,而来自librarygapminder的gapminder数据没有 df:gapminder_新 但奇怪的是,当我使用库中的gapminder数据,并将其成形为类似的更宽格式时,这一个就没有问题了: df:librarygapminder然后它就工作了R 错误:“mutate()”输入“gap”有问题。二进制运算符i输入的x非数值参数,r,dataframe,tidyverse,R,Dataframe,Tidyverse,我是R方面的新手,正在使用gapminder数据集尝试一些绘图 这个数据集是从gapminder网站下载的最新数据,它返回了一个关于变异的错误,而来自librarygapminder的gapminder数据没有 df:gapminder_新 但奇怪的是,当我使用库中的gapminder数据,并将其成形为类似的更宽格式时,这一个就没有问题了: df:librarygapminder然后它就工作了 library(gapminder) gapminder %>% filter(year
library(gapminder)
gapminder %>%
filter(year == 1967 | year == 2007) %>%
select(country, year, lifeExp) %>%
spread(year, lifeExp) %>%
mutate(gap = `2007` - `1967`) %>% head()
#################### output #########################
country 1967 2007 gap
<fctr> <dbl> <dbl> <dbl>
Afghanistan 34.020 43.828 9.808
Albania 66.220 76.423 10.203
Algeria 51.407 72.301 20.894
Angola 35.985 42.731 6.746
Argentina 65.634 75.320 9.686
这两个数据集看起来完全相同,我试图取不同的年份,在所有情况下都是dbl,但在一种情况下有效,而在另一种情况下无效
这里发生了什么,哪里出了问题,我该如何解决
有时,这些数据类型返回的小问题在R数据帧中看起来是一样的,这确实令人沮丧
从excel迁移到python并不困难,因为从python迁移到R似乎并不困难。现在使用mutategap=.[2019]]-.[2010]]%>%head可以工作,但我仍然不知道为什么在新的gapminder数据集中需要这样做,因为我不需要将此表单用于librarygapminder数据集
gapminder_new %>%
select(country, "2010", "2019") %>%
mutate(gap = "2019" - "2010") %>% head()
Error: Problem with `mutate()` input `gap`. x non-numeric argument to binary operator i Input `gap` is `"2019" - "2010"`. Run `rlang::last_error()` to see where the error occurred.
library(gapminder)
gapminder %>%
filter(year == 1967 | year == 2007) %>%
select(country, year, lifeExp) %>%
spread(year, lifeExp) %>%
mutate(gap = `2007` - `1967`) %>% head()
#################### output #########################
country 1967 2007 gap
<fctr> <dbl> <dbl> <dbl>
Afghanistan 34.020 43.828 9.808
Albania 66.220 76.423 10.203
Algeria 51.407 72.301 20.894
Angola 35.985 42.731 6.746
Argentina 65.634 75.320 9.686