2016-10-09 10 views
0

私は、2ヶ月間の2日間と同じ期間で構成されるデータセットを持っています。当時の家には何人の居住者がいたかが示されています。私は日付、期間、ハウスドイドでデータを分離したいと思います。複数のwhere/betweenステートメントを含むデータのサブセットの作成

私は、houseidがN60421Aである時間帯14:00:00 - 19:00:00の間の日付が01-02-2010であるすべてのレコードを取得したいと考えています。現時点では、data.typeは、数字である占有者以外の文字として格納されます。

http://www.sharecsv.com/s/aa6d4dc34acfbaf73ada1d2c8764b888/modecsv.csv

気圧私はこれを試してみましたが、私はこれがあなたのために働く必要があります

SELECT * 
From data 
where dayMonthYear == "01/02/2010" 
AND houses == "N60421A" 
AND time > 14:00:00 
AND time < 19:00:00 

答えて

0

ような何かをするだろう何の結果SQLで

data2 = subset(data, dayMonthYear == "01/02/2010" && Houses == "N60421A") 

を取得していないように見えます...

#Combine date and time into a new POSIXct variable "Time1" 
data$Time1 <- as.POSIXct(paste(data$dayMonthYear, data$Time), format="%d/%m/%Y %H:%M:%S") 

#Subset 
data2 <-subset(data, dayMonthYear == "01/02/2010" & Houses == "N60421A" & strftime(Time1, "%H") %in% c('14','15','16','17','18','19')) 

"chron"パッケージと標準Rサブセットを使用することもできます。

#Approach 2 
#Load Library 
library(chron) 

#Convert Time from factor while creating new variable "Time2" 
data$Time2 <- chron(times = as.character(data$Time)) 

#Subset 
data2 <- data[(data$dayMonthYear == "01/02/2010" & data$Houses == "N60421A" & data$Time2 >= "14:00:00" & data$Time2 <= "19:00:00"),] 
+0

Time1は実際にはデータテーブルを見るとN/Aを返します。 2つを組み合わせないとこれを行う方法はありませんか? –

+0

問題の内容がわかりません。 csvを提供する代わりにデータをdputと共有できますか? – Micky

+0

@KHAN日付と時刻を組み合わせない2番目のアプローチを追加しました。 – Micky

関連する問題