0

データ フレームをサブセット化する必要がありますが、使用する条件がわかりません。

df2<-subset(df, condition )

A part of the dataframe, `df`: 
state value     
a 1    
b 2    
c 3    
a 1    
b 4    
c 5    

value次を使用して、各州の列の合計を数えます。table(df$state)

列の合計がvalue特定の値 x より大きい行だけを表示する日付フレームを作成する必要があります。x が 3 の場合、新しいデータ フレームには、「状態」列が b または c に等しい行だけを含める必要があります。

「条件」を何に置き換えればよいですか?条件で: を使用するにはどうすればよいtable(df$state)ですか?

4

1 に答える 1

1

あなたが何をしようとしているのかは明らかではありません。

table(df$state)各「状態」の変数「値」の合計ではなく、データ内の各状態の発生を数えます。代わりに、次のようなものを使用する必要があります。

vv <- tapply(dat$value,dat$state,sum)
vv
a b c 
2 6 8 

これで、内で結果を使用してsubset、値列の合計が特定の値 x より大きいことを取得できます。たとえば、x == 3:

subset(dat,state %in% names(vv)[vv>3])

または `subset を使用せずに (より効率的)

dat[dat$state %in% names(vv)[vv>3],]
于 2013-10-14T08:43:06.943 に答える