我试图使用as.integer
函数将字符变量转换为整数变量。但是,执行代码时,输出将返回值NA
。代码如下,
library(tidyverse)
coal_data <- read.csv("http://594442.youcanlearnit.net/coal.csv", skip = 2)
coal_data %>% glimpse()
colnames(coal_data)[1] <- "region"
coal_long <- gather(coal_data, 'year', 'coal_consumption', -region)
coal_long %>% glimpse()
coal_long %>% separate(year, into = c("x", "year"), sep = "X")%>%
select(-x)%>% glimpse()
class(coal_long$year)
coal_long$year <- as.integer(coal_long$year)
输出如下
coal_long %>% glimpse()
Rows: 6,960
Columns: 3
$ region <fct> "North America", "Bermuda", "Canada", "Greenland", "Mexico",...
$ year <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ coal_consumption <chr> "16.45179", "0", "0.96156", "0.00005", "0.10239", "0", "15.3...
预期的实际输出是整数形式的年份。预先非常感谢您对此进行调查。
在您使用它的同时,也可能使coal_consumption翻倍...
library(tidyverse)
coal_data <- read.csv("http://594442.youcanlearnit.net/coal.csv", skip = 2, na.strings = "--")
colnames(coal_data)[1] <- "region"
coal_long <- gather(coal_data, 'year', 'coal_consumption', -region)
coal_long %>% glimpse()
#> Rows: 6,960
#> Columns: 3
#> $ region <chr> "North America", "Bermuda", "Canada", "Greenland", "…
#> $ year <chr> "X1980", "X1980", "X1980", "X1980", "X1980", "X1980"…
#> $ coal_consumption <dbl> 16.45179, 0.00000, 0.96156, 0.00005, 0.10239, 0.0000…
coal_long <- coal_long %>% separate(year, into = c("x", "year"), sep = "X") %>%
select(-x) %>% glimpse()
#> Rows: 6,960
#> Columns: 3
#> $ region <chr> "North America", "Bermuda", "Canada", "Greenland", "…
#> $ year <chr> "1980", "1980", "1980", "1980", "1980", "1980", "198…
#> $ coal_consumption <dbl> 16.45179, 0.00000, 0.96156, 0.00005, 0.10239, 0.0000…
class(coal_long$year)
#> [1] "character"
coal_long$year <- as.integer(str_remove(coal_long$year, "X"))
glimpse(coal_long)
#> Rows: 6,960
#> Columns: 3
#> $ region <chr> "North America", "Bermuda", "Canada", "Greenland", "…
#> $ year <int> 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980…
#> $ coal_consumption <dbl> 16.45179, 0.00000, 0.96156, 0.00005, 0.10239, 0.0000…
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句