2017-02-28 5 views
-1

R初心者の質問。 データフレーム(wealth_df)には、各行が5分音符(1〜5)にグループ化されています。私は各列にループを行い、各項目が各五分位数について持っている観察数を見つけて、それらをテーブルに格納したいと思っています。if文を実行しながらデータフレームをループする

** Car Bicycle Motorcycle Boat House Quintiles_Score** 
    1 0.5 0.2  0.4  0.6 0.8 1 
    2 0  0.2  0.4  0  0  2 
    3 0.5 0  0.4  0.6 0  1 
    4 0  0.2  0   0  0  3  
    5 0  0  0.4  0  0.8 4 
    6 0.5 0  0   0  0  4 

私は以下のことをしましたが、データフレームが大きいので面倒です。

library(Tidyverse) 
#owns a car and in quintile 1 
Car_Q1 <- filter(wealth_df, wealth_df$car == 0.5 & wealth_df$Quintile == 1) 
No_CarQ1 <- nrow(CarQ1) 
print(No_CarQ1) 

#owns a boat and in quintile 4 
Boat_Q4 <- filter(wealth_df, wealth_df$Boat == 0.8 & wealth_df$Quintile == 4) 
No_BoatQ4 <- nrow(BoatQ4) 
print(No_BoatQ4) 

期待出力は次のとおりです。車を所有している2

人と五分位2であり、次のとおりです:

車を所有している人と五分位1であるがある車としているを所有している0

人0

車を所有し、五分位にある人数は次のとおりです。1

人車を所有して五分位数5であるが、次のとおりです。0

その他、各種

+0

@Cath、私の悪いです。私はあなたがそれについて行くだろうどのようなアイデアを編集しました – shja

答えて

0

利用機能ddplyパッケージplyrからQuintile_Scoreによって各変数を要約する:

ddply(wealth_df, .(Quintiles_Score..), summarize, 
Car=length(Car[Car!=0]), Bicycle=length(Bicycle[Bicycle!=0])) 
+0

Thankssssssssss多くの@ user3640617 – shja

関連する問題