2016-11-21 16 views
0

私はRを使用して調査データを実行していますが、壁に当たっています。私がやったコーディングのほとんどはPythonで書かれています。私はRには本当に新しく、仕事で学んでいます。私は2つの場所で同じ答えを持つ行の数を把握する方法を見つけようとしています。例えば、満足している質問4(自分のコラム)に「満足した」と回答した人は、「満足している」という質問7(利得、それは自分の列)に反応しました。私はシートを入力するためにreadxlを使用していますし、if、thenループを私が望むやり方で実行するのに問題がありました。もし何かが間違っているとわからないのですが。前の列の応答に基づく条件付き集計

+0

質問をより正確に指定することを学ぶ必要があります。 2つの特定の場所(Q4とQ7)またはQ1:QNのいずれかに「重複」するような結果が必要かどうかは不明です。また、複製が必要な場合(すなわち、Q4 == Q7)、または両方の値が「満足」であるかも不明である。そして、あなたが失敗したコードを表示していないときに、あなたが "間違っている"ことについて助けを受けることをどのように期待していますか? [ヘルプ]、特に[http://stackoverflow.com/help/mcve]を読んでください。 –

答えて

0

この関数は、同じ値の要素が少なくともk個あることを示します。

nrow_repeat <- function(data,k){ 
    maxrepeat <- function(row){ 
     max(table(row)) 
    } 
    sum(apply(data,1,maxrepeat) >= k) 
} 

あなたは、正確にk要素をチェックするだけで上記の関数定義で==>=を変更したい場合は

。下の例では、行5と行10の2行があり、5回以上繰り返します。

data 
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 
#1 5 1 4 1 4 5 1 5 1 4 
#2 1 3 2 2 5 3 5 2 3 1 
#3 4 4 5 5 3 5 2 4 5 1 
#4 2 4 1 1 5 2 5 2 3 2 
#5 2 2 1 2 2 4 2 2 3 4 
#6 4 1 2 3 2 1 5 1 5 2 
#7 5 5 5 3 1 4 3 1 3 3 
#8 3 2 3 4 5 1 1 1 2 5 
#9 2 1 3 4 1 4 2 2 1 3 
#10 4 4 2 3 1 4 4 4 5 2 
nrow_repeat(data,5) 
#[1] 2 

これは文字値にも有効です。

関連する問題