2012-07-29 2 views
-1

У меня возникла проблема с использованием R, чтобы перевести «закодированную таблицу». Поэтому у меня есть таблица с элементами таблицы, состоящая из XX, XY, YY. У меня есть вторая таблица (.csv) с правильным значением X и Y - так что это могло бы выглядеть, если X = 1 и Y = 2,Используйте R, чтобы перевести 'закодированную' таблицу

XY преобразуется в 12 XX превращается в 11. ..

может кто-нибудь намекнуть на хорошую отправную точку для написания такой программы/кода в R?

+0

Попробуйте http://broadcast.oreilly.com/2010/03/lookup-performance-in-r.html –

ответ

2

Это немного отличается от таблицы поиска тем, что вы на самом деле являетесь регулярным выражением и заменой частей каждого элемента. В qdap (пакет количественного анализа дискурса) есть функция mgsub (несколько gsub), которая может легко справиться с этим.

library(qdap) 

#recreate scenerio with quick character vector (no need for quotes) 
z <- factor(qcv(XX,XY,YY)) 
#replace all X and Ys with 1 and 2 
mgsub(pattern = c("X", "Y"), replacement = c(1, 2), text.var = z) 


#Even better if you have the code book read in, say it looks like this: 
code.book <- data.frame(symb = c("X", "Y"), replacement = c(1, 2)) 

# > code.book 
# symb replacement 
# 1 X   1 
# 2 Y   2 

mgsub(code.book$symb, code.book$replacement, z) 
+0

hey..that-х awesome..The только вещь я бы не сделал совсем ясно что каждый элемент таблицы имеет другой перевод. Таким образом, для элементов [1,3], которые являются именами XY, перевод не будет 12, но они переводятся на другие значения, такие как 56 .... –

+1

Я думаю, вам придется отредактировать исходный ответ и более четко показать образец вставить, кодовую книгу и желаемый результат. –

Смежные вопросы