データフレーム (葯のデータフレームのサブセット) から 1 つの列を元のデータフレームに追加したいと考えています。(別の分析にサブセットを使用する必要がありました)。次の例を検討してください。
origdata <- data.frame(id=c(1:5), val=c("a", "b", "c", "d", "e"))
subdata <- origdata[origdata$id>3, ]
subdata$newvar <- factor(c(1, 2), levels=c(1, 2), labels=c("one", "two"))
### Value for newvar derived from other analysis
newvarここで、元のデータフレームに含む列を追加しNA、サブセットの一部ではないすべてのケースに s を入力したいと考えています。私の最初のアイデアは使用することでした
origdata[origdata$id>3, ]$newvar <- subdata$newvar
これは明らかに機能しません。ただし、最初に機能するように定義newvarした場合NA、それを要因として指定することで得られたすべての追加情報を失います (上記のように):
origdata$newvar <- NA
origdata[origdata$id>3, ]$newvar <- subdata$newvar
これに対する簡単な回避策を知っていますか? merge可能であれば、データフレームが大きく、merge非常に時間がかかるため、使用したくありません。newvarまた、要因として残しておきたい。