【发布时间】:2015-01-28 20:03:17
【问题描述】:
我正在尝试使用 R 查看蛋白质序列同源性,并且我想通过数据框寻找相同的位置和字母对。数据类似于下图:
Letter <- c("A", "B", "C", "D", "D", "E", "G", "L")
Position <- c(1, 2, 3, 4, 4, 5, 6, 7)
data.set <- cbind(Position, Letter)
产量:
Position Letter
[1,] "1" "A"
[2,] "2" "B"
[3,] "3" "C"
[4,] "4" "D"
[5,] "4" "D"
[6,] "5" "E"
[7,] "6" "G"
[8,] "7" "L"
我想循环并找到所有相同的观察结果(在本例中为观察结果 4 和 5),但我很难找到最好的方法。
我希望生成的数据框看起来像:
Position Letter
[1,] "4" "D"
[2,] "4" "D"
我尝试执行此操作的方法最终产生了此代码,但不幸的是它返回一个 TRUE 值,因为我意识到我正在比较两个相同的数据帧:
> identical(data.set[1:nrow(data.set),1:2], data.set[1:nrow(data.set),1:2])
[1] TRUE
我不确定循环使用 same() 函数是否是最好的方法?我确信我缺少一个更优雅的解决方案。
感谢您的帮助!
【问题讨论】: