2017-07-31 70 views
1

我有一個關於在我的數據集的特定時間點以外進行子集化或排除數據的問題。我的數據集的小樣品低於,這已經是重度從12個000多個觀測我如何在兩個特定時間點之間進行子集化r

enter image description here

原始數據幀子集所以我想達到的目標是能夠利用這一子集兩個特定時間點之間的數據13:30:00至19:30:00之間原因是我期待看到外部溫度對蜂巢活動的影響,活動是蜜蜂進入和離開蜂巢的原始數量。

在這個階段,我可以在溫度範圍,日期範圍等子集,但我不能子集的時間。任何人都有想法如何做到這一點?

代碼我試圖這樣

x <- subset(beedata, Time >= 10:30:00 | Time <= 19:30:00, 
select=c(Date, Time, Activity, Outside.Temp)) 

長相然而,這給我一個錯誤:

「1:在10:30:0:數值表達式具有21個元素:僅使用第 2:在Ops.factor(Time,10:30:0)中:'> ='對因素無意義 3:19:30:0:數字表達式有12個元素:僅第一個使用 4:In Ops 。因素(時間,19:30:0):'< ='對於因素沒有意義「。

它是有道理的,> =對因素沒有意義,但我不確定如何改變這個問題。 as.Date適用於日期,但據我所知它不適合時間。至於只使用第一個元素,我不明白那個錯誤。希望這很清楚。

乾杯 馬特

回答

1

真的不知道爲什麼你的數據將是因素,但憑藉其在數據如何顯示我假設你應該能夠在一個單一的元素轉換與

strptime(toString(*factor*)) 

然後從那裏,所有東西都應該與日期相當,所以下面的東西應該可以工作

*date* >= strptime("13:30:00", "%H:%M:%S") & *date* <= strptime("19:30:00", "%H:%M:%S") 
+0

感謝您的回覆約瑟,抱歉,早上在我的國家。我嘗試了第一行代碼,它給了我一個錯誤:strptime中的錯誤(toString(「beedata $ Time」)): 參數「format」丟失,沒有默認值。 – Matt

+0

@Joseph Malecki我想我終於找到了解決問題的辦法。它可能不是最有效的方式,但這是我使用的代碼如下: beedata $ Time < - as.character.POSIXt(beedata $ Time)。 bee < - 過濾器(beedata,時間> =「10:30:00」,時間<=「19:30:00」)。 bee1 < - 過濾器(蜜蜂,Outside.Temp> = 20,Outside.Temp <= 25)。對格式化評論感到抱歉,不確定如何格式化爲更清晰 – Matt

相關問題