r - 如何使用 R if 语句来区分变量的两个选项
问题描述
我是 R 新手,想了解如何使用 if 语句/if-else 函数来区分变量的两个选项,在我的例子中是性别。具体来说,我想使用这个数据集来看看男性和女性在他们的名字上拥有银行账户是否存在差异(-1 和 -2 是女性和男性,从 1:5 开始,这是金融账户的选项)。
dput(Finaccount)
> dput(head(Finaccount))
structure(list(finaccount = c("0", "0", "0", "2 6", "0", "0"),
genderresp = c(-2, -1, -2, -2, -2, -2)), row.names = c(NA,
6L), class = "data.frame")
接下来,我将创建一个卡方表,但我也会找到有关如何显示数据方向的任何建议(因此不仅有重要意义,而且一个性别的名字比其他性别拥有更多的银行账户) .
我正在使用其他方法来区分性别,主要是通过创建两个带有子集或 grepl 的数据集,如下例所示,但我假设有更简单的方法。
RespSeason <-- data.frame(respjobhh, gendercleaned)
View(RespSeason)
RespseasonCleaned = na.omit(RespSeason)
View(RespseasonCleaned)
Seasonwoman <-- subset(RespseasonCleaned, gendercleaned == "-2")
Seasonmen<-- subset(RespseasonCleaned, gendercleaned == "-1")
gender = hh_complete_fixed_cleaned[,22 ]
gendercleaned = na.omit(gender)jobhh = hh_complete_fixed_cleaned[, 128]
jobhhcleaned = na.omit(jobhh)
sapply(jobhhcleaned, mean, na.rm = TRUE)
data.frame(jobhh, gendercleaned)
View(jobhh, gendercleaned)
genderjobbhh <-- data.frame(jobhh, gendercleaned)
View(genderjobbhh)
malehh <--genderjobbhh[!grepl('2', genderjobbhh$gendercleaned),]
View(malehh)
sapply(malehh, mean, na.rm = TRUE)
femalehh <--genderjobbhh[!grepl('1', genderjobbhh$gendercleaned),]
View(femalehh)
sapply(femalehh, mean, na.rm = TRUE)
预先感谢您的贡献
解决方案
如果您希望通过小组获得平均值,以下内容可能会有所帮助:
library(tidyverse)
df %>%
mutate(gender = if_else(gender == -1, "male", if_else(gender == -2, "female", "unknown"))) %>%
group_by(gender) %>%
summerize(mean_gender = mean(gender))
或者
library(tidyverse)
df %>%
mutate(gender = as.character(gender),
gender = recode(gender, "-1" = "male", "-2" = "female")) %>%
group_by(gender) %>%
summerize(mean_gender = mean(gender))
推荐阅读
- android - 是否有可能复制NFC的UID?
- c++ - Cmake - 测试是否存在 pre-post build
- ms-access - 如何将超过 15 位小数的值粘贴到 Access 表字段中?
- python - 喜欢不喜欢使用自定义模板标签切换
- c - 如何确定文件的结尾?
- android - 当我在当前订阅结束之前升级到更高订阅时,订阅如何工作?
- swift - 线程 1:致命错误:在展开 UIButton SWIFT 的可选值时意外发现 nil
- konvajs - Konvajs 过滤器填充图像中的透明区域
- c++ - Uniform_real 不接受 numeric_limits::lowest()
- php - 如何在 Laravel 中更改密码重置的日期和时间格式?