子集和过滤器没有给出正确的答案

  • 本文关键字:答案 过滤器 子集 r
  • 更新时间 :
  • 英文 :


我有以下数据集,并使用subsetfilter来分割数据:

KL <- read.table(text = "
ID  C1
A   597.69
B   239.64
C   601.3
D   4052.6
E   73.73
F   74.06
G   124
H   0
I   0
J   0
K   0
L   122.45
M   152.88
N   123.32
O   354.12",
stringsAsFactors = FALSE,
header = TRUE)
str(KL)
Classes ‘data.table’ and 'data.frame':  15 obs. of  2 variables:
 $ ID: chr  "A" "B" "C" "D" ...
 $ C1: num  597.7 239.6 601.3 4052.6 73.7 ...

当我应用子集条件时

cl4  = subset(KL, C1 > "300.00")

输出为:

ID C1
A  597.69
C  601.30
D  4052.60
E  73.73
F  74.06
O  354.12

为什么它仍然显示小于 300 的数字?

我也尝试过filter但输出是相同的。

由于列C1是数字,因此不应使用引号。试试这个:

 subset(KL, C1 > 300)
   ID      C1
1   A  597.69
3   C  601.30
4   D 4052.60
15  O  354.12

但请注意,您应该谨慎对待subset() - 这并不总是像您认为的那样。

最好

[用于子集:

KL[KL$C1 > 300, ]
   ID      C1
1   A  597.69
3   C  601.30
4   D 4052.60
15  O  354.12

最新更新