我有一个包含两列的简单数据框:
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 行只有一个案例而不是两个案例 - 所以结果应该是 FALSE。变量 y 表示 x 内的第一种和第二种情况。
我玩 ddply 做类似的事情:
ddply(df, .(x), summarise,
ifelse(as.character(df[df$y == '1',]$target),
as.character(df[df$y == '2',]$target),0,1))
这是丑陋的......而且不起作用......
有什么见解可以实现这种比较吗?
谢谢