如何在R中按行檢查三列的相等性?


要檢查三列按行的相等性,我們可以使用雙等號 (==) 和 & 運算子進行邏輯比較。

例如,如果我們有一個名為 df 的資料框,它包含三列,例如 C1、C2 和 C3,並且我們想要檢查這三列的相等性,那麼我們可以使用以下命令:

df$All_equal<-df$C1==df$C2 & df$C2==df$C3

示例 1

以下程式碼片段建立了一個示例資料框:

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
df1

建立了以下資料框:

   x1 x2 x3
1  4  0  1
2  1  2  1
3  0  3  1
4  0  2  0
5  0  2  3
6  1  1  2
7  1  1  0
8  1  0  0
9  0  0  0
10 0  1  0
11 1  2  4
12 2  1  4
13 0  1  0
14 0  3  1
15 1  0  1
16 0  0  0
17 1  0  1
18 0  1  0
19 0  1  0
20 1  0  1

為了檢查 df1 中每一行的所有列的值是否相等,請將以下程式碼新增到上面的程式碼片段中:

x1<-rpois(20,1)
x2<-rpois(20,1)
x3<-rpois(20,1)
df1<-data.frame(x1,x2,x3)
df1$All_equal<-df1$x1==df1$x2 & df1$x2==df1$x3
df1

輸出

如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:

   x1 x2 x3 All_equal
1  4  0  1  FALSE
2  1  2  1  FALSE
3  0  3  1  FALSE
4  0  2  0  FALSE
5  0  2  3  FALSE
6  1  1  2  FALSE
7  1  1  0  FALSE
8  1  0  0  FALSE
9  0  0  0  TRUE
10 0  1  0  FALSE
11 1  2  4  FALSE
12 2  1  4  FALSE
13 0  1  0  FALSE
14 0  3  1  FALSE
15 1  0  1  FALSE
16 0  0  0  TRUE
17 1  0  1  FALSE
18 0  1  0  FALSE
19 0  1  0  FALSE
20 1  0  1  FALSE

示例 2

以下程式碼片段建立了一個示例資料框:

y1<-sample(0:1,20,replace=TRUE)
y2<-sample(0:1,20,replace=TRUE)
y3<-sample(0:1,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2

建立了以下資料框:

   y1 y2 y3
1  0  1  0
2  0  1  1
3  1  1  1
4  1  0  0
5  1  1  1
6  0  0  0
7  1  0  0
8  1  1  0
9  1  0  1
10 1  0  1
11 1  1  1
12 0  0  1
13 0  1  0
14 0  1  0
15 0  0  0
16 0  1  1
17 0  0  1
18 1  0  0
19 1  1  0
20 0  0  1

為了檢查 df2 中每一行的所有列的值是否相等,請將以下程式碼新增到上面的程式碼片段中:

y1<-sample(0:1,20,replace=TRUE)
y2<-sample(0:1,20,replace=TRUE)
y3<-sample(0:1,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2$All_equal<-df2$y1==df2$y2 & df2$y2==df2$y3
df2

輸出

如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:

   y1 y2 y3 All_equal
1  0  1  0  FALSE
2  0  1  1  FALSE
3  1  1  1  TRUE
4  1  0  0  FALSE
5  1  1  1  TRUE
6  0  0  0  TRUE
7  1  0  0  FALSE
8  1  1  0  FALSE
9  1  0  1  FALSE
10 1  0  1  FALSE
11 1  1  1  TRUE
12 0  0  1  FALSE
13 0  1  0  FALSE
14 0  1  0  FALSE
15 0  0  0  TRUE
16 0  1  1  FALSE
17 0  0  1  FALSE
18 1  0  0  FALSE
19 1  1  0  FALSE
20 0  0  1  FALSE

更新於:2021年11月12日

2K+ 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.