8
2つのデータフレームをマージしたいが、複数のマッチがある場合は、行を複製したくない。代わりに、私はその日の観測を合計したいと思います。行を複製しないでデータフレームをマージする
からマージ:指定された列に一致する2つのデータフレーム内の行が抽出され、一緒に接合されます。 複数の一致がある場合、すべての可能な一致がそれぞれ1つの行に寄与します。ここで
は、いくつかのサンプルコードです:
days <- as.data.frame(as.Date(c("2012-1-1", "2012-1-2", "2012-1-3", "2012-1-4")))
names(days) <- "Date"
obs.days <- as.data.frame(as.Date(c("2012-1-2", "2012-1-3", "2012-1-3")))
obs.days$count <- 1
colnames(obs.days) <- c("Date", "Count")
df <- merge(days, obs.days, by.x="Date", by.y="Date", all.x=TRUE)
私は思います。2.
'days'は' z.days'と同じですか?その場合、最終データフレームのカウントが{1,2,3,1}の2012-1- {1,2,3,4}になるようにしますか? (注: 'obs.days'には' 2012-1-3'が2つあり、 'days'には1があります) –
はい、z.daysを数日編集しました。それをキャッチするためにありがとう。あなたの答えは、期待される出力を持っています。私はこれを形を変えて試しましたが、次に私はplyrを学ぶ必要があると思います。ありがとう! –