如何删除两列中具有相同条目的行?

时间:2013-11-19 13:26:04

标签: r

我有一个2列的数据框(有500个观察值),如下所示:

1   118_o_m_n_a.jpg 118_o_m_a_a.jpg
2   122_m_f_n_a.jpg 122_m_f_n_a.jpg
3   152_y_f_n_a.jpg 152_y_f_n_a.jpg
4   160_y_m_h_a.jpg 160_y_m_n_a.jpg
5   083_o_m_a_a.jpg 083_o_m_s_a.jpg
6   015_o_m_n_a.jpg 015_o_m_h_a.jpg
7   058_m_m_n_a.jpg 058_m_m_n_a.jpg

我想删除第1列和第2列中具有相同条目的行(在本例中为2,3,7行)。现在我试图“独特”功能,但它不知何故不起作用,或者我无法正常做到。 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

只需在[中使用您的条件,然后将结果分配回原始data.frame。这里你的条件是df[, 1] != df[, 2]。通过在,之后不指定任何列,您选择所有列。

df
##                V1              V2
## 1 118_o_m_n_a.jpg 118_o_m_a_a.jpg
## 2 122_m_f_n_a.jpg 122_m_f_n_a.jpg
## 3 152_y_f_n_a.jpg 152_y_f_n_a.jpg
## 4 160_y_m_h_a.jpg 160_y_m_n_a.jpg
## 5 083_o_m_a_a.jpg 083_o_m_s_a.jpg
## 6 015_o_m_n_a.jpg 015_o_m_h_a.jpg
## 7 058_m_m_n_a.jpg 058_m_m_n_a.jpg

df <- df[df[, 1] != df[, 2], ]
df
##                V1              V2
## 1 118_o_m_n_a.jpg 118_o_m_a_a.jpg
## 4 160_y_m_h_a.jpg 160_y_m_n_a.jpg
## 5 083_o_m_a_a.jpg 083_o_m_s_a.jpg
## 6 015_o_m_n_a.jpg 015_o_m_h_a.jpg