データフレーム (葯のデータフレームのサブセット) から 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
また、要因として残しておきたい。