2016-09-13 5 views
0

私はこの大規模なデータセット(整数、文字列、浮動小数点数の組み合わせで19個の変数、完全な観測値と空変数を含む観測値を組み合わせたもの)を扱っています。私はそれらを日付に基づいて異なるデータフレームにサブセット化し、予想外の結果を得ています。私の仕事は、これまで:さらに多くの奇妙な(あるいはそうでないかもしれない)何データのサブセット化NA行の作成

# reading in data; at this point there are no rows that are completely 
# full of na values 
    Data <- read.csv("Data.csv", stringsAsFactors = FALSE) 

# removing data I don't want to look at; I'm sure this isn't the 
# most efficient way to do this but it works 
    Data2 <- Data[!(Data$Event.Clearance.Group=="TRAFFIC RELATED CALLS") & 
         !(Data$Event.Clearance.Group=="FALSE ALARMS") & 
         !(Data$Event.Clearance.Group=="FALSE ALACAD") & 
         !(Data$Event.Clearance.Group=="HARBOR CALLS") & 
         !(Data$Event.Clearance.Group=="NULL"),] 

# reformatting the date into new col to easily subset 
    Data2$Date <- as.Date(as.character(Data2$Event.Clearance.Date), "%m/%d/%Y") 

# Subsetting Data into years; after I do this the subsets suddenly have 
# tons of NA values. I do this for each year from 2011 - 2015 
    Data2011 <- Data2[Data2$Date >= as.Date("2011-01-01") & 
         Data2$Date <as.Date("2012-01-01"),] 

は、すべてのサブセットが異なるサイズにもかかわらず、NA行のまったく同じ数を持っているということです。それぞれ正確に14198個の空行があります。世界では何が起こっているのですか?これは問題なのでしょうか、または私はちょうど これらの行をサブセットから削除して移動できますか?私はデータを全く変更したくないのですが、起こっていることがすべて空の行であるならば、私はあまり気にしません。データを無意識のうちに私のように変更したくない気づいていない。どんな洞察にも感謝します!

+0

「myYearList < - split(Data2、format(Data2 $ Date、 "%Y")) 'を使って年単位でデータを分割することがあります。 – lmo

+0

それは美しく働いた、ありがとう。どうやら、私は他の方法で毎回14198個の空行を生成するだけです...私の質問はまだ立っていますが、なぜこれらの空行が生成されていますか? – penguinteacher

答えて

2

Data2 $ DateにはNA値がありますか? この結果はどうなりますか?のみTRUEまたはFALSEであるべきベクトルでNAを持つ

sum(is.na(Data2$Date >= as.Date("2011-01-01") & 
          Data2$Date <as.Date("2012-01-01"))) 

NAの行はあなたの答えに表示されるようになります。

関連する問題