2つの列を持つ単純なデータフレームがあります。
df <- data.frame(x = c(1,1,2,2,3),
y = c(rep(1:2,2),1),
target = c('a','a','a','b','a'))
xのすべてのレベル(xの同じ数)内で、ターゲット列の文字列を比較します(それらが等しいかどうか、つまり、TRUEまたはFALSEを調べます)。最初に1行目と2行目、次に3行目と4行目を比較したいと思います...私の問題は、いくつかの比較が欠落していることです。たとえば、5行目は2つではなく1つのケースしかないため、FALSEになるはずです。変数yは、x内の最初と2番目のケースを示します。
私はddplyで次のようなことをして遊んだ。
ddply(df, .(x), summarise,
ifelse(as.character(df[df$y == '1',]$target),
as.character(df[df$y == '2',]$target),0,1))
これは醜いです...そして動作しません...
この比較をどのように達成できるかについての洞察はありますか?
ありがとう