【发布时间】:2016-02-29 01:12:47
【问题描述】:
在 R cli 中,我可以对数据框中的字符列执行以下操作:
> data.frame$column.name [data.frame$column.name == "true"] <- 1
> data.frame$column.name [data.frame$column.name == "false"] <- 0
> data.frame$column.name <- as.integer(data.frame$column.name)
我想将其作为一个函数来执行,我尝试了以下代码,将 data.frame$column.name 输入为 arg1。我在 return(arg1) 时看到它正在工作,但是如何将操作返回到原始 data.frame?
boolean.integer <- function(arg1) {
arg1 [arg1 == "true"] <- 1
arg1 [arg1 == "false"] <- 0
arg1 <- as.integer(arg1)
}
【问题讨论】:
-
我认为你可以运行
as.numeric(data.frame$column.name)自动将布尔值转换为 1,0,如果它是一个字符串,那还可以,我们将有as.numeric(data.frame$column.name == "true")也可以工作。 -
我确实说过列名是否是布尔变量...
-
@chappers 但事实并非如此。
-
另外说明...如果您的变量实际上是“true”、“false”而不是任意字符,您可以调用.....
as.integer(as.logical(data.frame$column.name))
标签: r type-conversion