flodelの助けを借りて、数値コードをルックアップ テーブルの値ラベルに置き換える方法を見つけました。
私は野心的ですが、今それを機能に入れたいと思っています。また、データに急降下する必要がある参照テーブルがたくさんあるので、関数が便利です。
しかし、最初にいくつかのサンプル データを、データ フレームから始めて、
df <- data.frame(id = c(1:6),
profession = c(1, 5, 4, NA, 0, 5))
df
# id profession
# 1 1
# 2 5
# 3 4
# 4 NA
# 5 0
# 6 5
職業コードに関する人間が読み取れる情報を含むルックアップ テーブル、
profession.lookuptable <- c(Optometrists=1, Accountants=2, Veterinarians=3,
`Financial analysts`=4, Nurses=5)
flodelは、数値コードをルックアップ テーブルの値ラベルに置き換える方法を教えてくれました。このような、
match.idx <- match(df$profession, profession.lookuptable)
df$profession <- ifelse(is.na(match.idx),
df$profession, names(profession.lookuptable)[match.idx])
df
# id profession
# 1 Optometrists
# 2 Nurses
# 3 Financial analysts
# 4 <NA>
# 5 0
# 6 Nurses
これを関数に入れ、データ フレームdf
と変数の名前を記述profession
し、関数に残りを処理させたいと考えています。
私は自分の関数を次のように定義します。
ADDlookup <- function(orginalDF, orginalVAR) {
DF.VAR <- paste(orginalDF, "$", orginalVAR, sep="")
lookup.table <- paste(orginalVAR, ".lookuptable")
match.idx <- match(DF.VAR, lookup.table)
DF.VAR <- ifelse(is.na(match.idx), DF.VAR, names(lookup.table)[match.idx])
}
しかし、明らかにそれは機能していません
ADDlookup(df, profession)
エラーが発生します
Error in paste(orginalDF, "$", orginalVAR, sep = "") :
object 'profession' not found
さて、ここで行き詰まります。
どのマニュアルページを読む必要があるか、またはこれを解決するためのフレンドリーなヒントを教えてください。
読んでくれてありがとう。