2013-03-01 3 views

ответ

0

Я хотел бы использовать таблицу поиска, т.е. list, где имена являются цифры 1-5, и содержание списка буквы AE:

lut = list('A', 'B', 'C', 'D', 'E') 
names(lut) = 1:5 
sample_data = sample(1:5, 10, replace = TRUE) 
as.character(lut[as.character(sample_data)]) 

> lut 
$`1` 
[1] "A" 

$`2` 
[1] "B" 

$`3` 
[1] "C" 

$`4` 
[1] "D" 

$`5` 
[1] "E" 

> sample_data 
[1] 3 5 2 5 1 4 2 2 3 3 
> as.character(lut[as.character(sample_data)]) 
[1] "C" "E" "B" "E" "A" "D" "B" "B" "C" "C" 
+0

Большое спасибо ....! – Kisun

0

Это может быть легче понять, чем Павла ответ (что является лучшим подходом ИМХО).

Создайте небольшой блок данных, который по существу является справочной таблицей. Тогда, когда я позволяю bar быть столбец интереса в вашем массиве,

Rgames> foo 
$lets 
[1] "A" "D" "X" "U" "K" 

$nums 
[1] 1 2 3 4 5 

Rgames> rab<-foo$lets[bar] 
Rgames> rab 
[1] "A" "A" "X" "D" "K" 
Rgames> foo 
$lets 
[1] "A" "D" "X" "U" "K" 

$nums 
[1] 1 2 3 4 5 

Rgames> bar 
[1] 1 1 3 2 5 
Rgames> foo$lets[bar] 
[1] "A" "A" "X" "D" "K" 

заменить значения столбца с выходом этой последней строки, и вы все сделали.

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