2017-10-10 4 views
2

ありがとうございます。 Iの行ごとの既存の値(O、1,2)のデータ・フレームのカウント数に必要と各値 のカウント数の3列を作成私は例を使用した:R:データセット内の1行あたりの値の数をカウントし、新しい列を作成する

example <- data.frame(var1 = c(2,3,3,2,4,5), 
       var2 = c(2,3,5,4,2,5), 
       var3 = c(3,3,4,3,4,5)) 
example <- cbind(example, apply(example, 1, function(x)length(unique(x)))) 

しかし、それは数だけを返します一意の値。

+2

対応する出力例を提供できますか? –

答えて

2

これは何ですか?

all_vals = unique(unlist(example)) 
tt = t(apply(example, 1, function(x) table(factor(x, levels = all_vals)))) 
cbind(example, tt) 
# var1 var2 var3 2 3 4 5 
# 1 2 2 3 2 1 0 0 
# 2 3 3 3 0 3 0 0 
# 3 3 5 4 0 1 1 1 
# 4 2 4 3 1 1 1 0 
# 5 4 2 4 1 0 2 0 
# 6 5 5 5 0 0 0 3 

良い次のステップは、新しい列の名前を変更することです。

+0

ご協力ありがとうございます – Irina

関連する問題