dt <- data.table(L=1:5,A=letters[7:11],B=letters[12:16])
L A B
1: 1 g l
2: 2 h m
3: 3 i n
4: 4 j o
5: 5 k p
ここで、列「A」と「B」を貼り付けて新しい列を取得したいので、「新規」と呼びましょう。
dt2
L A B new
1: 1 g l gl
2: 2 h m hm
3: 3 i n in
4: 4 j o jo
5: 5 k p kp
dt <- data.table(L=1:5,A=letters[7:11],B=letters[12:16])
L A B
1: 1 g l
2: 2 h m
3: 3 i n
4: 4 j o
5: 5 k p
ここで、列「A」と「B」を貼り付けて新しい列を取得したいので、「新規」と呼びましょう。
dt2
L A B new
1: 1 g l gl
2: 2 h m hm
3: 3 i n in
4: 4 j o jo
5: 5 k p kp
アルンのコメントはこの質問に答えました:
dt[,new:=paste0(A,B)]
列のインデックスを使って厳密に貼り付けたい場合(行名がわからない場合がある場合)... 6列と4列の2つの列を貼り付けて新しい列を取得したい
dt$new <- apply( dt[,c(6,4)], 1, function(row){ paste(row[1],row[2],sep="/") })