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

谢谢

最佳答案

这些代码在你那正常吗?

person1 <- subset(person,select=c(ifelse(Gender=='male',-Male,-Female)))

关于根据条件从数据框中删除列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20528263/

10-12 23:31