在删除所有带有NA的行后,尝试将双精度数转换为数字并求和

时间:2019-06-28 23:31:45

标签: r

我正在尝试将当前作为要素的美元值转换为数字值并将其求和。我要求和的变量是value1 <dbl> 460

我尝试了以下代码,但收到以下消息:

强制性引入的不适用

ExpiredItems2$value1 <- as.numeric(gsub('[$,]', '', ExpiredItems2$value1))

我想删除value1列中所有具有NA值的行,然后将剩余的值合计以显示总值。

1 个答案:

答案 0 :(得分:0)

由于您未提供任何数据,因此我无法重现您的错误。但是,根据您的问题,我可以为您提供一个了解我的数据外观的可行解决方案。

示例数据:

l <- as.factor(sample(1:10,10))
k <- rnorm(11)
dl <- data.frame(c(l,NA),k)

您可以删除NA,然后在基本R中使用as.numeric()


dl <- dl[!is.na(dl[,1]), ]
dl[,1] <- as.numeric(dl[,1])
sum(dl[,1])
#
is.na(dl[,1])
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
is.numeric(dl[,1])
[1] TRUE