วิธีที่ดีที่สุดในการกำหนดให้หลายคอลัมน์โดยใช้data.table
คืออะไร? ตัวอย่างเช่น:
f <- function(x) {c("hi", "hello")}
x <- data.table(id = 1:10)
ฉันต้องการทำสิ่งนี้ (แน่นอนว่าไวยากรณ์นี้ไม่ถูกต้อง):
x[ , (col1, col2) := f(), by = "id"]
และเพื่อขยายนั้นฉันอาจมีหลายคอลัมน์ที่มีชื่อเก็บไว้ในตัวแปร (พูดcol_names
) และฉันต้องการทำ:
x[ , col_names := another_f(), by = "id", with = FALSE]
อะไรคือวิธีที่ถูกต้องในการทำสิ่งนี้?
1
ดูเหมือนจะได้รับคำตอบแล้ว: stackoverflow.com/questions/11308754/…
—
Alex
อเล็กซ์คำตอบนั้นใกล้เคียง แต่ดูเหมือนจะใช้ไม่ได้เมื่อใช้ร่วมกับ
—
Matt Dowle
by
@Christoph_J จะพูดได้ถูกต้อง ลิงก์ไปยังคำถามของคุณที่เพิ่มไปยังFR # 2120 "Drop needs with = FALSE for LHS of: =" ดังนั้นจะไม่ลืมที่จะกลับมาอีก
เพื่อความชัดเจน
—
smci
f()
คือฟังก์ชันที่ส่งคืนค่าหลายค่าสำหรับแต่ละคอลัมน์ของคุณ