2

Rでは、次の違いは何ですか。

summary(airquality$Solar.R[(airquality$Ozone>31)&(airquality$Temp>90)])

対。

summary( (airquality[airquality$Ozone>31,][airquality$Temp>90,])$Solar.R)

212.0と212.8の結果はわずかに異なり、より正確でパフォーマンスが向上しています。

4

1 に答える 1

12

最初のコマンドは正しいです。2 番目のコマンドが正しくありません。2 番目のコマンドは、まず has の行を選択し、次に、そのairqualityhaveOzone > 31の行に対応する行を選択します。問題は、データが既に 1 回サブセット化されているため、2 回目は行が整列しないことです。このようにすると、数値の要約は最初のバージョンと一致します。airqualityTemp > 90

summary((airquality[airquality$Ozone>31,][airquality[airquality$Ozone>31,]$Temp>90,])$Solar.R)

それはより多くのsを数えますがNA

最初のバージョンに固執します。

于 2013-01-25T17:09:57.913 に答える