วิธีจำลองแถวใน data frame ใน r
คุณสามารถใช้วิธีการต่อไปนี้เพื่อจำลองแถวในกรอบข้อมูลใน R โดยใช้ฟังก์ชันในแพ็คเกจ dplyr :
วิธีที่ 1: ทำซ้ำแต่ละบรรทัดด้วยจำนวนครั้งเท่ากัน
library (dplyr) #replicate each row 3 times df %>% slice(rep(1:n(), each = 3))
วิธีที่ 2: ทำซ้ำแต่ละบรรทัดด้วยจำนวนครั้งที่แตกต่างกัน
library (dplyr) #replicate the first row 3 times and the second row 5 times df %>% slice(rep(1:n(), times = c(3, 5)))
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ทำซ้ำแต่ละบรรทัดด้วยจำนวนครั้งเท่ากัน
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ซึ่งมีสองแถวใน R:
#create data frame
df <- data. frame (team=c('A', 'B'),
dots=c(10, 15),
rebounds=c(4, 8),
assists=c(2, 5))
#view data frame
df
team points rebound assists
1 to 10 4 2
2 B 15 8 5
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำซ้ำแต่ละบรรทัดของกรอบข้อมูลสามครั้ง:
library (dplyr)
#create new data frame that repeats each row in original data frame 3 times
new_df <- df %>% slice(rep(1:n(), each = 3))
#view new data frame
new_df
team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5
โปรดทราบว่าแต่ละบรรทัดในกรอบข้อมูลดั้งเดิมถูกทำซ้ำสามครั้ง
ตัวอย่างที่ 2: ทำซ้ำแต่ละบรรทัดด้วยจำนวนครั้งที่แตกต่างกัน
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ซึ่งมีสองแถวใน R:
#create data frame
df <- data. frame (team=c('A', 'B'),
dots=c(10, 15),
rebounds=c(4, 8),
assists=c(2, 5))
#view data frame
df
team points rebound assists
1 to 10 4 2
2 B 15 8 5
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำซ้ำบรรทัดแรกสามครั้งและบรรทัดที่สองห้าครั้ง:
library (dplyr)
#create new data frame that repeats first row 3 times and second row 5 times
new_df <- df %>% slice(rep(1:n(), times = c(3, 5)))
#view new data frame
new_df
team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5
7 B 15 8 5
8 B 15 8 5
โปรดทราบว่าบรรทัดแรกของกรอบข้อมูลเดิมซ้ำสามครั้งและบรรทัดที่สองห้าครั้ง
ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน Slice() ใน dplyr
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ใน dplyr:
วิธีเลือกคอลัมน์ตามดัชนีโดยใช้ dplyr
วิธีเลือกแถวแรกตามกลุ่มโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีกรองแถวที่มีสตริงบางตัวโดยใช้ dplyr