我的數據集包含6列,其中臭氧,溫度和Solar.R是其中的一部分。我需要根據條件$找出Solar.R值的平均值臭氧> 31和$溫度> 90,我執行下面的代碼,但它返回的NaN複合條件在R的說明中
data<-read.csv("hw1_data.csv",header=TRUE)
mean(na.omit(data[data$Ozone>31 && data$Temp>90,]$Solar.R))
請讓我在哪裏,我錯了
我的數據集包含6列,其中臭氧,溫度和Solar.R是其中的一部分。我需要根據條件$找出Solar.R值的平均值臭氧> 31和$溫度> 90,我執行下面的代碼,但它返回的NaN複合條件在R的說明中
data<-read.csv("hw1_data.csv",header=TRUE)
mean(na.omit(data[data$Ozone>31 && data$Temp>90,]$Solar.R))
請讓我在哪裏,我錯了
你在那裏有一對多的&符號。
嘗試:
mean(na.omit(data[data$Ozone > 31 & data$Temp > 90, ]$Solar.R))
從幫助頁面在?"&&"
:
&
和&&
表示邏輯AND
和|
和||
表示邏輯OR
。較短的形式以與算術運算符幾乎相同的方式執行元素比較。較長的形式從左到右進行評估,僅檢查每個矢量的第一個元素。評估只會在結果確定之前進行。更長的形式適用於編程控制流程,並且通常優先考慮if子句。
順便說一句,這幾乎聽起來像 「airquality」 數據集已經可以在R:
mean(na.omit(airquality[airquality$Ozone > 31 &
airquality$Temp > 90, ]$Solar.R))
# [1] 212.8
哦,不使用節省空間酒吧使代碼多更容易在眼睛上?
謝謝,這很快,很重要。同意你的所有評論我只是塗鴉,並立即粘貼代碼。將來會保重。 – Arin
@Arin,沒問題。歡迎來到SO :-) – A5C1D2H2I1M1N2O1R2T1
發佈.csv文件的頭幾行,或類似的東西。在你讀入R之前,你是否檢查過你的數據是否有點奇怪?您是否檢查過R以確保數據正確讀取? – shadowtalker
是的,一切正常,正確的答案發布如下。 Thnx – Arin