使用R比较来自不同列但来自同一数据帧的元素

使用R比较来自不同列但来自同一数据帧的元素,r,dataframe,compare,R,Dataframe,Compare,我试图确定序列相似性。 我想创建一个函数来比较df元素,例如: V1 V2 V3 V4 1 C D A D 2 A A S E 3 V T T V 4 A T S S 5 C D R Y 6 C A D V 7 V T E T 8 A T A A 9 R V V W 10 W R D D 我想比较第一列的第一个元素和第二列的第一个元素。如果匹配==1

我试图确定序列相似性。 我想创建一个函数来比较
df
元素,例如:

   V1  V2 V3  V4
1  C   D  A   D  
2  A   A  S   E 
3  V   T  T   V
4  A   T  S   S 
5  C   D  R   Y 
6  C   A  D   V
7  V   T  E   T 
8  A   T  A   A
9  R   V  V   W
10 W   R  D   D
  
我想比较第一列的第一个元素和第二列的第一个元素。如果匹配==1,则为0。然后将第一列中的第二个元素与第二列中的第二个元素进行比较。等等

例如:

C != D -----0
A == A -----1
这样我想比较第1列和第2列,然后比较第3列和第4列。 然后将第2列与第3列和第4列进行比较。 然后是第3列和第4列

输出将只是数字:

0
1
0
0
0
0
0
0
0
0
我尝试了以下方法,但无效:

compared_df <- ifelse(df_trial$V1==df_trial$V2,1,ifelse(df_trial$V1==df_trial$V2,0,NA))
compared_df

compared_df正如@Ronak Shah在评论中所说,在您想要比较两个值的情况下,使用以下内容就足够了:

df$matches <- as.integer(df$V1 == df$V2)

那将是
df$matches谢谢你的建议。第一种方法适用于小样本的比较。对于带有“apply”的第二个选项,我试图仅确定它们是否匹配。“apply()”是否仍然适用于此?@student24是的,当然取决于您希望实现的目标。但是这两种方法得到的结果是相同的,只是第二种方法适用于需要比较多于2列的情况
df$matches <- as.integer(df$V1 == df$V2)
df$matches = apply(df, 1, function(x) as.integer(length(unique(x)) == 1))