【问题标题】:Removing certain values from the dataframe in R从 R 中的数据框中删除某些值
【发布时间】:2015-08-26 13:12:13
【问题描述】:

我不知道如何做到这一点,但我需要的是我需要形成这个数据框 mydf 的集群,我想在其中省略 inf(不定式)值和大于 50 的值。我需要获取没有inf 且值不大于50 的表。如何获取不包含inf 且值不大于50 的表(可能是通过使这些单元格无效)?但是,对于集群部分,我没有任何问题,因为我可以使用 mfuzz 包来做到这一点。所以我唯一的问题是我想在 0-50 范围内扩展集群。

mydf

   s.no       A        B       C       
    1         Inf     Inf      999.9
    2         0.43    30       23
    3         34      22       233           
    4         3       43       45 

【问题讨论】:

  • @Pascal 不是重复的,我今天早些时候发布了这个问题。这是不同的东西。
  • 这个有什么不同?你似乎在要求同样的事情。
  • @MAPK:你需要解释一下这不是重复的。两者似乎都要求删除不符合此条件的行。

标签: r


【解决方案1】:

您可以使用NA,R 中内置的缺失数据指示器:

?NA

通过这样做:

mydf[mydf > 50 | mydf == Inf] <- NA
mydf
  s.no     A  B  C
1    1    NA NA NA
2    2  0.43 30 23
3    3 34.00 22 NA
4    4  3.00 43 45

你在 R 下游做的任何事情都应该有 NA 处理方法,即使它只是 na.omit

【讨论】:

  • Inf &gt; 50 返回TRUE,因此无需针对它进行测试。 mydf[mydf &gt; 50] &lt;- NA 将覆盖它。
猜你喜欢
  • 2022-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多