【发布时间】:2013-12-11 19:30:20
【问题描述】:
I am having a lot of difficulty removing a column from a data frame in R when the the choice is dependent on a conditional.例如,我想根据性别是男性还是女性来删除男性或女性列。 Person 代表一个数据框。以下是我的代码:
Gender <- "male"
dd <- subset(person, select = c(-Male))
de <- subset(person, select = c(-Female))
person1 <- ifelse( Gender=="male", dd, de)
此代码会列出数据框中的第一列。数据框的头部在下方。顺便说一句,变量 dd 和 de 工作正常。只有 if else 语句是一个问题,可能是因为我的条件在数据框之外。当我将 Gender 带入数据框向量时,我得到一个 NULL 结果。
类似地,如果使用以下代码删除列,它可以工作,但我卡在 if else 组件上
Myvars <- names(person) %in% c("Female")
DL <- person [! Myvars]
数据框
RoundDownAge Male Female
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
54 938202 969252
谢谢
【问题讨论】:
-
预期的数据框是什么?
-
同意@Ananta 提出这些问题的最佳方式是向我们展示您所拥有的,并向我们展示您的期望。
-
预期的数据框将有两列 RoundDownAge 和 Male。但是,如果性别是女性(参见第一行代码),则两列将是 RoundDownAge 和女性。谢谢
标签: r