【问题标题】:Clean rows with certain values in R [duplicate]清理R中具有某些值的行[重复]
【发布时间】:2019-10-22 01:59:53
【问题描述】:

我想从数据库中排除性别!=“M”和性别!=“F”的每一行并清理数据库。

谢谢,提前。

这是我尝试过的:

CleanGender<-which(data$Gender!="M" & data$Gender!="F")

【问题讨论】:

  • 请使用dput(head(data,12)) 添加您的数据样本,或者简单地将head(data) 的输出复制并粘贴到问题中。
  • 我认为&amp; 是问题所在。您不能将两个元素放在同一行中您可能需要subset(data, gender %in% c("M", "F"))

标签: r


【解决方案1】:

我们可以使用%in% 对列上的多个值进行子集化。它会检查这些值是否存在于列中,创建一个逻辑表达式并将这些行子集

subset(data, gender %in% c("M", "F"))

【讨论】:

  • 我明白了,你是对的!
【解决方案2】:

假设性别不能同时是“M”和“F”(which 按顺序查看向量行):

# find index you want to keep
CleanGender_index <- which(data$Gender!="M" | data$Gender!="F")

# select corresponding rows, renaming your data frame is called `df_raw`
df_clean <- df_raw[CleanGender_index, ]

data 可能不是您数据集的最佳名称,因为它也是一个 R 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    相关资源
    最近更新 更多