วิธีจำลองแถวใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *