R 错误:“mutate()”输入“gap”有问题。二进制运算符i输入的x非数值参数

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

我是R方面的新手,正在使用gapminder数据集尝试一些绘图

这个数据集是从gapminder网站下载的最新数据,它返回了一个关于变异的错误,而来自librarygapminder的gapminder数据没有

df:gapminder_新

但奇怪的是,当我使用库中的gapminder数据,并将其成形为类似的更宽格式时,这一个就没有问题了:

df:librarygapminder然后它就工作了

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