คำถามติดแท็ก dplyr

ใช้แท็กนี้สำหรับคำถามเกี่ยวกับฟังก์ชันจากแพ็คเกจ dplyr เช่น group_by สรุปกรองและเลือก

1
วิธีหมุนกาดาต้าดาต้ารูมประกอบด้วยคอลัมน์พร้อมส่วนและส่วนย่อยใน R
ฉันมีชื่อไฟล์ด้านล่าง: structure( list(ID = c("P-1", " P-1", "P-1", "P-2", "P-3", "P-4", "P-5", "P-6", "P-7", "P-8"), Date = c("2020-03-16 12:11:33", "2020-03-16 13:16:04", "2020-03-16 06:13:55", "2020-03-16 10:03:43", "2020-03-16 12:37:09", "2020-03-16 06:40:24", "2020-03-16 09:46:45", "2020-03-16 12:07:44", "2020-03-16 14:09:51", "2020-03-16 09:19:23"), Status = c("SA", "SA", "SA", "RE", "RE", "RE", "RE", "XA", "XA", "XA"), Flag …

1
การกลายพันธุ์หลายคอลัมน์แบบไดนามิกในขณะที่การปรับอากาศในแถวที่เฉพาะเจาะจง
ฉันรู้ว่ามีคำถามที่คล้ายกันอยู่หลายแห่งที่นี่ แต่ดูเหมือนจะไม่มีใครตอบคำถามที่แม่นยำที่ฉันมี set.seed(4) df = data.frame( Key = c("A", "B", "A", "D", "A"), Val1 = rnorm(5), Val2 = runif(5), Val3 = 1:5 ) ฉันต้องการ zeroise ค่าของคอลัมน์ค่าสำหรับแถวที่ Key == "A" ชื่อคอลัมน์ถูกอ้างอิงผ่าน a grep: cols = grep("Val", names(df), value = TRUE) โดยปกติแล้วเพื่อให้ได้สิ่งที่ฉันต้องการในกรณีนี้ฉันจะใช้data.tableสิ่งนี้: library(data.table) df = as.data.table(df) df[Key == "A", (cols) := 0] …
11 r  dplyr  data.table 

2
เงื่อนไขตัวกรอง dplyr เพื่อแยกความแตกต่างระหว่างสัญลักษณ์ยูนิโค้ดและการแทนยูนิโค้ด
ฉันพยายามกรองคอลัมน์สัญลักษณ์โดยพิจารณาว่าเป็นของแบบฟอร์มหรือไม่ \uxxxx นี้เป็นเรื่องง่ายสายตา, ที่อยู่, ลักษณะบางอย่างเช่น$, ¢, £และอื่น ๆ ที่ชอบ\u058f, ,\u060b\u07fe แต่ฉันไม่สามารถคิดออกโดยใช้stringi/dplyr library(dplyr) library(stringi) df <- structure(list(Character = c("\\u0024", "\\u00A2", "\\u00A3", "\\u00A4", "\\u00A5", "\\u058F", "\\u060B", "\\u07FE", "\\u07FF", "\\u09F2", "\\u09F3", "\\u09FB", "\\u0AF1", "\\u0BF9", "\\u0E3F", "\\u17DB", "\\u20A0", "\\u20A1", "\\u20A2", "\\u20A3"), Symbol = c("$", "¢", "£", "¤", "¥", "\u058f", "\u060b", "\u07fe", "\u07ff", "৲", "৳", …
10 r  dplyr  stringr  stringi 

3
ฉันทำอะไรกับ dtplyr ไม่ได้ใน data.table
ฉันควรจะลงทุนความพยายามในการเรียนรู้ของฉันสำหรับข้อมูลที่ถกเถียงในการวิจัยโดยเฉพาะระหว่างdplyr, dtplyrและdata.table? ฉันใช้dplyrเป็นส่วนใหญ่ แต่เมื่อข้อมูลมีขนาดใหญ่เกินไปสำหรับที่ฉันจะใช้data.tableซึ่งเป็นเหตุการณ์ที่เกิดขึ้นได้ยาก ดังนั้นตอนนี้dtplyrv1.0 ก็กลายเป็นอินเทอร์เฟซสำหรับdata.tableบนพื้นผิวมันดูเหมือนว่าฉันไม่ต้องกังวลกับการใช้data.tableอินเทอร์เฟซอีกเลย ดังนั้นสิ่งที่เป็นคุณสมบัติที่มีประโยชน์มากที่สุดหรือแง่มุมของการdata.tableที่ไม่สามารถทำได้โดยใช้dtplyrในขณะนี้และมีแนวโน้มที่จะไม่เคยทำได้ด้วยdtplyr? บนใบหน้าของตนdplyrกับผลประโยชน์ของการdata.tableทำให้เสียงเหมือนจะแซงdtplyr dplyrมีเหตุผลใดบ้างที่จะใช้dplyrอีกครั้งเมื่อdtplyrครบกำหนด? หมายเหตุ: ฉันไม่ได้ถามเกี่ยวกับdplyrvs data.table(เช่นเดียวกับdata.table vs dplyr: คนหนึ่งสามารถทำสิ่งที่ดีไม่สามารถหรือไม่ดีได้หรือไม่ ) แต่ให้คนอื่นเป็นที่ต้องการมากกว่าอีกปัญหาหนึ่งทำไมจะไม่ เสื้อdtplyrจะเป็นเครื่องมือในการใช้งาน
9 r  dplyr  data.table  dtplyr 

5
การสร้างคอลัมน์ใหม่ตามเงื่อนไขโดยอิงตามแถวก่อนหน้า
ฉันมีกรอบข้อมูลติดตั้งดังนี้: df <- data.frame("id" = c(111,111,111,222,222,222,222,333,333,333,333), "Location" = c("A","B","A","A","C","B","A","B","A","A","A"), "Encounter" = c(1,2,3,1,2,3,4,1,2,3,4)) id Location Encounter 1 111 A 1 2 111 B 2 3 111 A 3 4 222 A 1 5 222 C 2 6 222 B 3 7 222 A 4 8 333 B 1 9 333 A …

4
วิธีที่มีประสิทธิภาพในการปล่อยแถวด้วยเวลาที่ทับซ้อนกัน
ฉันมีชุดข้อมูลขนาดยาวที่มีคอลัมน์ซึ่งแสดงเวลาเริ่มต้นและหยุดและฉันต้องการวางแถวถ้ามันทับซ้อนกับอีกชุดหนึ่งและมีลำดับความสำคัญสูงกว่า (เช่น 1 คือลำดับความสำคัญสูงสุด) ข้อมูลตัวอย่างของฉันคือ library(tidyverse) library(lubridate) times_df <- tibble(start = as_datetime(c("2019-10-05 14:05:25", "2019-10-05 17:30:20", "2019-10-05 17:37:00", "2019-10-06 04:43:55", "2019-10-06 04:53:45")), stop = as_datetime(c("2019-10-05 14:19:20", "2019-10-05 17:45:15", "2019-10-05 17:50:45", "2019-10-06 04:59:00", "2019-10-06 05:07:10")), priority = c(5,3,4,3,4)) วิธีที่ฉันเกิดขึ้นกับการโจมตีปัญหาย้อนหลังโดยการค้นหาการทับซ้อนที่มีค่าลำดับความสำคัญสูงกว่าและจากนั้นใช้anti_joinเพื่อลบออกจาก dataframe เดิม รหัสนี้ใช้ไม่ได้หากมีจุดสามจุดทับซ้อนกันของ timepoint เดียวกันและฉันแน่ใจว่ามีวิธีที่มีประสิทธิภาพและการทำงานมากกว่านี้ dropOverlaps <- function(df) { drops <- df %>% …
9 r  dplyr 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.