将字符变量转换为整数时,会显示一条消息:强制引入NA。如何避免这个错误?

Sri Sreshtan:

我试图使用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...

预期的实际输出是整数形式的年份。预先非常感谢您对此进行调查。

卡盘P:

在您使用它的同时,也可能使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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

错误:将字符转换为数字时强制引入的NA

出于某种原因,我不断收到一条错误消息,指出当 while 语句仍然存在时,它无法将“年龄”转换为整数

强制引入NA时如何避免警告

不返回任何内容时,t-sql会强制显示一条消息。使用CTE和CASE

使用apply()将NA替换为数字时,因子变量被强制转换为字符

强制将其转换为唯一列表时,熊猫时间戳会转换为整数-可能的错误?

将一条路径转发到另一条路径,并将空格转换为连字符

每当我输入正确的密码时,都会显示一条错误消息

将字符日期转换为日期格式时,为什么要引入NA?

在scala表单上仅显示一条错误消息

Makefile错误退出并显示一条消息

当ajax响应为空时显示一条消息

将字符串转换为整数时的错误

启动san ssh连接时,如何在显示的“最后登录”之后添加一条消息?

当用户名和密码为空白时,单击“登录”按钮将引发一条消息,即如何打印显示的消息

如何在foreach循环中显示一条消息?

如何使用AngularJS每秒显示一条消息?

AngularApp:如何显示对话中的最后一条消息?

当我已经忽略了一条错误命令的消息时,为什么会触发on_command_error?

我有一个强制转换错误(从字符串转换为整数)

输入字符串而不是整数时,停止控制台多次打印同一条消息

如何从一条Laravel路线转换为另一条路线的价值

将逻辑向量转换为字符时如何避免R将F转换为False

当从最后一页删除最后一条记录时,cakephp paginator助手会显示错误

如果跳过了一条语句get,则只打印了其他语句。如何将字符串或整数存储在单个变量中?

如何避免在 R 中将数值强制转换为 NA

使用PHP如何将这个字符串变量转换为另一种形式?

我如何将一条线转换为两条并使用CSS旋转

如果出现错误,向用户显示一条消息,只有在他修复它时才使其消失