为什么我在给变量数字时使用强制NA?

问题描述 投票:0回答:1

我正在尝试通过此代码使变量成为数字:

Joined1[,"utility.x"]<-as.numeric(as.character(Joined1[,"utility.x"]))

它使所有列都为NA。

`

b<-dput(Joined1[1:2,17:20])
structure(list(utipassen.x = c(0.219353162283623, 0.219353162283623
), mode.x = structure(c(2L, 2L), .Label = c("1", "3"), class = "factor"), 
    utility.x = c(4.02748247217461, 4.02748247217461), new.x = c(2, 
    2)), row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"
))

请让我知道您是否需要我的数据。正如您在代码中所看到的,我想使Utility.x为数字

r dataframe
1个回答
0
投票

如果您打印Joined1[,"utility.x"],您将看到结果是小标题,对此取as.character会导致意外结果(这是因为Joined1是小标题,如果您有类data.frame的对象,则您的代码应该只能工作)

但是,Joined1$utility.x是向量,所以可以这样做

Joined1$utility.x <- as.numeric(as.character(Joined1$utility.x))
© www.soinside.com 2019 - 2024. All rights reserved.