ฉันกำลังทำงานกับ dplyr และสร้างโค้ดเพื่อคำนวณข้อมูลใหม่ที่ถูกลงจุดด้วย ggplot
ฉันต้องการสร้างฟังก์ชันด้วยโค้ดนี้ ควรใช้ชื่อของคอลัมน์ของกรอบข้อมูลที่ถูกจัดการโดย dplyr อย่างไรก็ตาม การพยายามทำงานกับชื่อคอลัมน์ไม่ได้ผล โปรดพิจารณาตัวอย่างขั้นต่ำด้านล่าง:
df <- data.frame(A = seq(-5, 5, 1), B = seq(0,10,1))
library(dplyr)
foo <- function (x) {
df %>%
filter(x < 1)
}
foo(B)
Error in filter_impl(.data, dots(...), environment()) :
object 'B' not found
มีวิธีแก้ไขในการใช้ชื่อของคอลัมน์เป็นอาร์กิวเมนต์ของฟังก์ชันหรือไม่?
foo <- function(x,...)filter(x,...)
ฉันมีสิ่งต่อไปนี้ตอนนี้ ไม่แน่ใจว่าฉันเขียนสิ่งที่ถูกต้องหรือไม่ แต่ผลลัพธ์ดูเหมือนจะถูกต้อง.foo <- function (x,...) filter(x,...);foo(df, B < 1)
- person jazzurro   schedule 23.09.2014