私は明らかに簡単なことをするのに苦労しています。
コードとその再コーディングのリストがあります。
> head(codesTv)
X5000 TV.Diary.Event
1 5001 Play
2 5002 Drama Series
3 5003 Other Drama
4 5004 Film
5 5005 Pop Music
6 5006 Comedy
次に、 という名前の再コード化が必要なベクトルがありますttest
。
> head(as.data.frame(ttest))
ttest
1 SPITTING IMA
2 5999
3 KRAMERVSKRAM
4 NEWS
5 BROOKSIDE
6 NOTHING
必要なのは、再コード化する必要がある値から単純に再コード化するcodesTv
ことです。
しかし、これを行う唯一の方法は、次の面倒なコードです。
ttest [ ttest %in% codesTv$X5000 ] = codesTv$TV.Diary.Event [ match(ttest [ttest %in% codesTv$X5000], codesTv$X5000) ]
誰かがこれを行うためのより簡単なアイデアを持っていますか?
データ
ttest = c("SPITTING IMA", "5999", "KRAMERVSKRAM", "NEWS", "BROOKSIDE",
"NOTHING", "NOTHING", "BROOKSIDE", "5004", "5004", "5999", "YANKS",
"5999", "5999", "5999", "5999", "\"V\"", "GET FRESH", "5999",
"5999", "HEIDI", "FAME", "SAT SHOW", "5021", "BLUE PETER", "V",
"EASTENDERS", "WORLD CUP", "GRANDSTAND", "SPORT", "WORLD CUP",
"BLUE PETER", "WORLD CUP", "HORIZON", "REGGIEPERRIN", "5999",
"BROOKSIDE", "HNKYTNK MAN", "5999", "5999")
codesTv = structure(list(X5000 = c("5001", "5002", "5003", "5004", "5005",
"5006", "5007", "5008", "5009", "5010", "5011", "5012", "5013",
"5014", "5015", "5016", "5017", "5019", "5020", "5021", "5022",
"5023", "5888", "5999"), TV.Diary.Event = c("Play", "Drama Series",
"Other Drama", "Film", "Pop Music", "Comedy", "Chat Show", "Quiz/Panel Game",
"Cartoon", "Special L/E Event", "Classical Music", "Contemporary Music",
"Arts", "News", "Politics", "Consumer Affairs", "Spec Current Affairs",
"Documentary", "Religious Affairs", "Sport", "Childrens TV",
"Party Political", "Continuation Event", "Non-event (Missing)"
)), .Names = c("X5000", "TV.Diary.Event"), row.names = c(NA,
-24L), class = "data.frame")