วิธีการใช้งานฟังก์ชัน with() และ inside() ใน r
ฟังก์ชัน with() และ inside() ใน R สามารถใช้เพื่อประเมินนิพจน์ตามกรอบข้อมูล
ฟังก์ชันเหล่านี้ใช้ไวยากรณ์ต่อไปนี้:
with(data, expression)
within(data, expression)
ทอง:
- data: ชื่อของบล็อกข้อมูล
- การแสดงออก: การแสดงออกที่จะประเมิน
นี่คือความแตกต่างระหว่างสองฟังก์ชัน:
- with() ประเมินนิพจน์โดยไม่ต้องแก้ไขกรอบข้อมูลดั้งเดิม
- inside() ประเมินนิพจน์และสร้างสำเนาของกรอบข้อมูลดั้งเดิม
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:
#create data frame
df <- data. frame (x=c(3, 5, 5, 7, 6, 10),
y=c(2, 2, 0, 5, 9, 4))
#view data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
ตัวอย่างที่ 1: การใช้ฟังก์ชัน with()
เราสามารถใช้ฟังก์ชัน with() ต่อไปนี้เพื่อคูณค่าระหว่างสองคอลัมน์ของกรอบข้อมูล:
#multiply values between x and y
with(df, x*y)
[1] 6 10 0 35 54 40
ค่าในคอลัมน์ x และคอลัมน์ y ในกรอบข้อมูลจะถูกคูณเข้าด้วยกันและผลลัพธ์คือเวกเตอร์ที่มีความยาว 6
ตัวอย่างที่ 2: การใช้ฟังก์ชัน inside()
เราสามารถใช้ฟังก์ชัน inside() ต่อไปนี้เพื่อคูณค่าระหว่างสองคอลัมน์ในกรอบข้อมูลและกำหนดผลลัพธ์ให้กับคอลัมน์ใหม่ในกรอบข้อมูล:
#multiply values in x and y and assign results to new column z
within(df, z <- x*y)
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
ผลการคูณจะถูกเก็บไว้ในคอลัมน์ใหม่ชื่อ z
สิ่งสำคัญคือต้องทราบว่าฟังก์ชัน inside() สร้างสำเนาของ data frame ดั้งเดิม แต่ไม่ได้แก้ไข data frame ดั้งเดิม:
#view original data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
หากต้องการจัดเก็บผลลัพธ์การคูณอย่างถาวร คุณต้องกำหนดผลลัพธ์ให้กับเฟรมข้อมูลใหม่:
#multiply values in x and y and assign results to new data frame
df_new <- within(df, z <- x*y)
#view new data frame
df_new
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีเพิ่มคอลัมน์ใน data frame ใน R
วิธีเพิ่มคอลัมน์ว่างลงใน data frame ใน R
วิธีจัดเรียง data frame ตามคอลัมน์ใน R