2017-02-19 15 views
0

調査から得られたデータがあります。 csvファイルは次のようになります。カラムを循環するR

1c x x 1e x x 2c x x 2e x x 

D x x D x x R x x R x x 

R x x R x x D x x D x x 

D x x D x x R x x R x x 

R x x R x x R x x R x x 

などなど...

のXは、この分析に使用されていない他のデータを表します。

1cと1e(またはペアの列)からの応答は同じにする必要があります。参加者が注意を払っているかどうかをテストするための操作チェックとして行われました。 "D"の数と "R"の数を数えたいが、ペアの列が一致しない場合は数えられない。

final <- read("data.csv") 


    for(i in 1:length(rownames(final))){ 
     if(final$X1c[i] == final$X1e[i]){ 
     count <- append(count, as.character(final$X1c[i])) 
     } 
    } 
    for(i in 1:length(rownames(final))){ 
     if(final$X2c[i] == final$X2e[i]){ 
     count <- append(count, as.character(final$X2c[i])) 
     } 
    } 

と上と上と上:

は、今のところ私はこのような何かをしています。

どのようにすれば、1つの質問ごとに個別のforループを作成する必要はありませんか?

答えて

0

あなたは単にカウント(またはしかし多くのOUを持っている)の両方を捕捉するために、ループ内の2つの異なるカウンタ持つことができます

final <- read("data.csv") 


    for(i in 1:length(rownames(final))){ 
     if(final$X1c[i] == final$X1e[i]){ 
     count <- append(count, as.character(final$X1c[i])) 
     if(final$X2c[i] == final$X2e[i]){ 
     count2 <- append(count2, as.character(final$X2c[i])) 
     } 
     } 

をしかし、私はcount & count2のために、ループの外で最初のテーブルまたは変数を作成します。

メガトンの変数がある場合は、リスト、テーブルなどのペアのベクトルを作成して入れ子にして、比較する列ペアを反復処理することができます。

しかし、複数のセットの列を持つ列のペアと各列のペアの可能な要素の総数d == dは、dplyrパッケージの使用を検討することをお勧めします。

あなたは2つの列を収集するためにgroup_byを使用して、値の各セットと同等のペアを引き出すためにいくつかのロジックとfiltersummarize()を使用する場合は、それらが同じであるカウントのテーブルを作成することができます。ここ

は、このようにdplyrを使用しての良いリンクです:

dplyr tutorial using mtcars dataset