将“真"/“假"的数据帧列转换为 1 或 0值并分配给数据框 [英] Convert dataframe column to 1 or 0 for "true"/"false" values and assign to dataframe

查看:25
本文介绍了将“真"/“假"的数据帧列转换为 1 或 0值并分配给数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 R cli 中,我可以对数据框中的字符列执行以下操作:

In the R cli I am able to do the following on a character column in a data frame:

> 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.当我返回(arg1)时,我看到它正在工作,但如何将操作返回到原始 data.frame?

I would like to do this as a function and I tried the following code, inputing data.frame$column.name as arg1. I see that it is working when I return(arg1) but how do I return the operation to the original data.frame?

boolean.integer <- function(arg1) {
  arg1 [arg1 == "true"] <- 1
  arg1 [arg1 == "false"] <- 0
  arg1 <- as.integer(arg1)
}

推荐答案

@chappers 解决方案(在评论中)有效 as.integer(as.logical(data.frame$column.name))

@chappers solution (in the comments) works as.integer(as.logical(data.frame$column.name))

这篇关于将“真"/“假"的数据帧列转换为 1 或 0值并分配给数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆