2013-06-19 3 views
0

У меня есть R data.frame TAB со следующим содержанием:R: преобразование таблицы в список векторов

A A 
A B 
A C 
B A 
B D 

То, что я хотел бы получить это список векторов/списков:

A -> A, B, C 
B -> A, D 

я могу сделать это с цикл, который выглядит примерно так:

for (i in 1:2){ 
    V[[i]]<-TAB[which(is.element(TAB[,1],UA[i])),2] 
} 

есть ли более удобный способ сделать это, что позволяет избежать для ло оп?

+3

'Раскол (дд $ у, д $ х)', где 'dd' ваш data.frame и х и у являются первый и второй столбцы, соответственно. – Arun

+0

Спасибо, это помогает! Объединение с 'lapply (mysplit, as.character)' делает то, что я хочу. –

+0

Я не против, если вы напишете это и примите ответ. – Arun

ответ

0

Таким образом, в этом случае фрагмент кода для решения этой проблемы является:

mysplit = split(dd$y, dd$x) 
myresult = lapply(mysplit, as.character) 
Смежные вопросы