R - ตัวดำเนินการ

ตัวดำเนินการคือสัญลักษณ์ที่บอกให้คอมไพเลอร์ดำเนินการทางคณิตศาสตร์หรือตรรกะเฉพาะ ภาษา R อุดมไปด้วยตัวดำเนินการในตัวและมีตัวดำเนินการประเภทต่อไปนี้

ประเภทของตัวดำเนินการ

เรามีตัวดำเนินการประเภทต่อไปนี้ในการเขียนโปรแกรม R -

  • ตัวดำเนินการเลขคณิต
  • ตัวดำเนินการเชิงสัมพันธ์
  • ตัวดำเนินการทางตรรกะ
  • ผู้ดำเนินการมอบหมาย
  • ตัวดำเนินการเบ็ดเตล็ด

ตัวดำเนินการเลขคณิต

ตารางต่อไปนี้แสดงตัวดำเนินการทางคณิตศาสตร์ที่รองรับโดยภาษา R ตัวดำเนินการทำงานกับแต่ละองค์ประกอบของเวกเตอร์

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
+ เพิ่มเวกเตอร์สองตัว
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 10.0  8.5  10.0
- ลบเวกเตอร์ที่สองออกจากเวกเตอร์แรก
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] -6.0  2.5  2.0
* คูณทั้งเวกเตอร์
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 16.0 16.5 24.0
/ หารเวกเตอร์แรกกับตัวที่สอง
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] 0.250000 1.833333 1.500000
%% ให้ส่วนที่เหลือของเวกเตอร์แรกกับเวกเตอร์ที่สอง
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 2.0 2.5 2.0
% /% ผลของการหารเวกเตอร์แรกกับวินาที (ผลหาร)
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 0 1 1
^ เวกเตอร์ตัวแรกยกขึ้นเป็นเลขชี้กำลังของเวกเตอร์ที่สอง
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  256.000  166.375 1296.000

ตัวดำเนินการเชิงสัมพันธ์

ตารางต่อไปนี้แสดงตัวดำเนินการเชิงสัมพันธ์ที่รองรับโดยภาษา R แต่ละองค์ประกอบของเวกเตอร์แรกจะถูกเปรียบเทียบกับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สอง ผลลัพธ์ของการเปรียบเทียบคือค่าบูลีน

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
> ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกมีค่ามากกว่าองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] FALSE  TRUE FALSE FALSE
< ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกน้อยกว่าองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  TRUE FALSE  TRUE FALSE
== ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกเท่ากับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] FALSE FALSE FALSE  TRUE
<= ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกน้อยกว่าหรือเท่ากับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  TRUE FALSE  TRUE  TRUE
> = ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกมีค่ามากกว่าหรือเท่ากับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] FALSE  TRUE FALSE  TRUE
! = ตรวจสอบว่าแต่ละองค์ประกอบของเวกเตอร์แรกไม่เท่ากันกับองค์ประกอบที่เกี่ยวข้องของเวกเตอร์ที่สองหรือไม่
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  TRUE  TRUE  TRUE FALSE

ตัวดำเนินการทางตรรกะ

ตารางต่อไปนี้แสดงตัวดำเนินการทางตรรกะที่รองรับโดยภาษา R ใช้ได้กับเวกเตอร์ประเภทตรรกะตัวเลขหรือเชิงซ้อนเท่านั้น ตัวเลขทั้งหมดที่มากกว่า 1 ถือเป็นค่าตรรกะ TRUE

แต่ละองค์ประกอบของเวกเตอร์แรกจะถูกเปรียบเทียบกับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สอง ผลลัพธ์ของการเปรียบเทียบคือค่าบูลีน

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
& เรียกว่า Element-wise Logical AND operator มันรวมแต่ละองค์ประกอบของเวกเตอร์แรกกับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองและให้ผลลัพธ์เป็น TRUE หากองค์ประกอบทั้งสองเป็น TRUE
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  TRUE  TRUE FALSE  TRUE
| เรียกว่า Element-wise Logical OR operator มันรวมแต่ละองค์ประกอบของเวกเตอร์แรกกับองค์ประกอบที่สอดคล้องกันของเวกเตอร์ที่สองและให้ผลลัพธ์เป็น TRUE หากองค์ประกอบหนึ่งเป็น TRUE
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1]  TRUE FALSE  TRUE  TRUE
! เรียกว่าตัวดำเนินการ Logical NOT ใช้แต่ละองค์ประกอบของเวกเตอร์และให้ค่าตรรกะตรงกันข้าม
v <- c(3,0,TRUE,2+2i)
print(!v)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] FALSE  TRUE FALSE FALSE

ตัวดำเนินการตรรกะ && และ || พิจารณาเฉพาะองค์ประกอบแรกของเวกเตอร์และให้เวกเตอร์ขององค์ประกอบเดียวเป็นเอาต์พุต

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
&& เรียกว่าตัวดำเนินการ Logical AND รับองค์ประกอบแรกของเวกเตอร์ทั้งสองและให้ค่า TRUE ก็ต่อเมื่อทั้งคู่เป็น TRUE
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] TRUE
|| เรียกว่า Logical OR operator ใช้องค์ประกอบแรกของเวกเตอร์ทั้งสองและให้ค่า TRUE หากหนึ่งในนั้นเป็น TRUE
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] FALSE

ผู้ดำเนินการมอบหมาย

ตัวดำเนินการเหล่านี้ใช้เพื่อกำหนดค่าให้กับเวกเตอร์

ตัวดำเนินการ คำอธิบาย ตัวอย่าง

<-

หรือ

=

หรือ

<< -

เรียกว่า Left Assignment
v1 <- c(3,1,TRUE,2+3i)
v2 <<- c(3,1,TRUE,2+3i)
v3 = c(3,1,TRUE,2+3i)
print(v1)
print(v2)
print(v3)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

->

หรือ

- >>

เรียกว่าการมอบหมายสิทธิ์
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

ตัวดำเนินการเบ็ดเตล็ด

ตัวดำเนินการเหล่านี้ใช้เพื่อวัตถุประสงค์เฉพาะและไม่ใช่การคำนวณทางคณิตศาสตร์หรือตรรกะทั่วไป

ตัวดำเนินการ คำอธิบาย ตัวอย่าง
: ตัวดำเนินการลำไส้ใหญ่ สร้างชุดของตัวเลขตามลำดับสำหรับเวกเตอร์
v <- 2:8
print(v)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] 2 3 4 5 6 7 8
%ใน% ตัวดำเนินการนี้ใช้เพื่อระบุว่าองค์ประกอบเป็นของเวกเตอร์หรือไม่
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[1] TRUE
[1] FALSE
% *% ตัวดำเนินการนี้ใช้เพื่อคูณเมทริกซ์ด้วยทรานสโพส
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

มันให้ผลลัพธ์ดังต่อไปนี้ -

[,1] [,2]
[1,]   65   82
[2,]   82  117