-10
を与え、私はデータセットを、次のセグメントにデータsubset
とfilter
を使用していないフィルタ:私はサブセット条件を適用するとサブセットは、適切な答え
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'の数値ではありませんか?クォートなしで 'サブセット(KL、C1> 300.00)であるべきではありませんか? –
'C1'が数値でない場合、あなたがしようとしていることは単なる間違っています。その列を数値的に扱う必要がある場合は、それを数値にします。 –
ポイントをホームにプッシュするには、数字ではなく*テキスト*比較を行います。 "2"は "1"よりも上位の文字であるため(以下の文字にかかわらず)、 "2"> "11" 'を実現してください。これは、あなたの出力の最初の5つがそこにある理由を説明します:「4」から「7」はすべて「3」よりレター順で後で(より高い)、最後のものでは「5」(354.12) 「0」(300.00)よりも大きい。このエラーは、Rデータ型の基本的な教義を再検討する必要があることを示唆しています。 – r2evans