2015-09-29 2 views
2

вот в чем проблема. Мне нужно экстраполировать данные из таблицы, как показано ниже.Экстраполируйте данные двумя факторами в R

sp rd pH count 
1 dog uniq 4.5  5 
2 dog uniq 4.2  5 
3 dog for 6.1  3 
4 cat uniq 7.0  8 
5 cat uniq 4.9  5 
6 cat mains 3.1  9 
7 cat mains 6.5  1 
8 cat mains 6.5  3 

в этой таблице, есть два фактора sp и rd. Мой результат должен быть списком (или, возможно, матрицей, но я считаю, что создание матрицы в R с разной длиной строк должно быть сложнее, чем создание списка), где: list имеет столько векторов, сколько множество - уникальные комбинации факторов sp и rd и каждый вектор имеет значения pH для комбинации факторов.

Более конкретно, мой результат должен быть списком с четырьмя векторов (комбинации собака уник, собака для, кошек уникальных и кошек сети) с номерами (4.5, 4.2), (6.1), (7.0, 4.9) и (3.1, 6.5, 6.5).

Извините за мой английский, я не являюсь носителем языка. Надеюсь, это понятно.

ответ

2

Мы можем использовать split. Если для f имеется более одной группы, сохраните ее в list.

split(df1$pH, list(df1$sp, df1$rd), drop=TRUE) 

Или использовать interaction переменных группы для f.

split(df1$pH, interaction(df1[1:2], drop=TRUE))