私は次のようにRで読んだテーブルを持っています:
column1 column2
A B
次のように2つの列を一致させるために使用するコマンドは何ですか?
Column 3
A_B
「マージ」とはどういう意味かわかりませんが、これはどういう意味ですか?
> DF = data.frame(A = LETTERS[1:10], B = LETTERS[11:20])
> DF$C = paste(DF$A, DF$B, sep="_")
> head(DF)
A B C
1 A K A_K
2 B L B_L
3 C M C_M
4 D N D_N
または同等に、@ daroczigが指摘しているように:
within(DF, C <- paste(A, B, sep='_'))
私の個人的なお気に入りは、unite
の- tidyr
を使用することです。
set.seed(1)
df <- data.frame(colA = sample(LETTERS, 10),
colB = sample(LETTERS, 10))
# packs: pipe + unite
require(magrittr); require(tidyr)
# Unite
df %<>%
unite(ColAandB, colA, colB, remove = FALSE)
> head(df, 3)
ColAandB colA colB
1 G_F G F
2 J_E J E
3 N_Q N Q
個人的には、uniteのremove = TRUE / FALSE
機能が非常に便利だと思います。さらに、tidyr
はdplyr
ワークフローを非常にうまく機能させ、 separate
結合する列について気が変わった場合。同じ行で、NA
sがワークフローにna.omit
を導入する問題である場合、目的の列を作成する前に望ましくない行を簡単に削除できます。