Saya mencoba menggabungkan kumpulan data 1 dan kolom dari kumpulan data 2 tetapi saya mendapatkan kesalahan aneh.

data1 <- data.frame(id = 1:6,                                  # Create first example data frame
                    x1 = c(5, 1, 4, 9, 1, 2),
                    x2 = c("A", "Y", "G", "F", "G", "Y"))
 
data2 <- data.frame(id = 4:9,                                  # Create second example data frame
                    y1 = c(3, 3, 4, 1, 2, 9),
                    y2 = c("a", "x", "a", "x", "a", "x"))

data_merge <- merge(data1, data2[,.(id,y1)], by = "id)

Kesalahan dalam .(id,y1) : tidak dapat menemukan fungsi "."

2
Pan Dora 10 Mei 2021, 21:04

1 menjawab

Jawaban Terbaik

Itu hanya data.frame dan bukan data.table. Jadi, kita membutuhkan pemilihan kolom biasa dengan c

data2[c('id', 'y1')]

Sintaks dalam kode OP akan berfungsi jika dikonversi ke data.table

library(data.table)
setDT(data2)
4
akrun 10 Mei 2021, 18:08