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

3
การใช้การประเมินที่ไม่ได้มาตรฐานตามระเบียบในการถอดรหัสในด้านขวามือของการกลายพันธุ์
ลองพิจารณาดูซิว่าแต่ละคอลัมน์เป็นเวกเตอร์ของตัวละครที่สามารถมีค่าได้มากมายสมมติว่า "A" ถึง "F" library(tidyverse) sample_df <- tibble(q1 = c("A", "B", "C"), q2 = c("B", "B", "A")) ฉันต้องการสร้างฟังก์ชั่นที่ใช้ชื่อคอลัมน์เป็นอาร์กิวเมนต์และ recodes คอลัมน์นั้นเพื่อให้คำตอบ "A" ใด ๆ กลายเป็น NA และ df จะถูกส่งกลับตามที่เป็นอยู่ เหตุผลในการออกแบบด้วยวิธีนี้คือเพื่อให้พอดีกับไปป์ไลน์ที่กว้างขึ้นที่ดำเนินการชุดของการดำเนินงานโดยใช้คอลัมน์ที่กำหนด มีหลายวิธีในการทำเช่นนี้ แต่ฉันสนใจที่จะเข้าใจว่าวิธีที่ดีที่สุดในการใช้สำนวน tidy_eval / tidyverse อันดับแรกชื่อคำถามต้องอยู่ทางด้านซ้ายของกริยากลายพันธุ์ดังนั้นเราจึงใช้!!และ:=ตัวดำเนินการอย่างเหมาะสม แต่แล้วจะวางอะไรไว้ทางด้านขวามือ? fix_question <- function(df, question) { df %>% mutate(!!question := recode(... something goes here...)) } …
13 r  dplyr  rlang  tidyeval  nse 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.