2015-10-23 2 views
1

я имел фрейм данных следующим образом:Получить фрейм данных из списка кадров данных г

name letter 
Sam a 
Sam b 
Sam a 
Harry b 
Harry c 
Bob a 
Bob b 

, который потом разделить в список фреймов данных, одного кадра данных для каждого имени

sp = split(df1,df1$name) 

Что делать, если я хочу быстро получить фрейм данных с именем «Сэм»?

Я знаю, что sp [[1]] делает трюк, но я хочу получить на основе имени, а не индекс, находящийся в списке.

Я также думал о создании ассоциативного массива, но не знаю, является ли это лучшим способом или нет.

"Sam" -> sp[[1]] 
"Harry" -> sp[[2]] 
"Bob" -> sp[[3]] 

ответ

3

Мы можем использовать либо

sp$Sam 

Или

sp[['Sam']] 
0

почему вы хотите разделить кадр данных в самом начале? что вы хотите, вы можете просто сделать это с помощью фрейма данных:

df_sam <- df[df$name == "Sam",] 
Смежные вопросы