Как мне отфильтровать data.frame в R по категориальной переменной?

Просто изучаю R.

Учитывая data.frame в R с двумя столбцами, одним числовым и одним категориальным, как мне извлечь часть данных .frame для использования?

str(ex0331)
'data.frame':   36 obs. of  2 variables:
$ Iron      : num  0.71 1.66 2.01 2.16 2.42 ...
$ Supplement: Factor w/ 2 levels "Fe3","Fe4": 1 1 1 1 1 1 1 1 1 1 ...

По сути, мне нужно иметь возможность оперировать двумя факторами отдельно; т.е. мне нужна возможность индивидуально определять длину / среднее значение / стандартное отклонение / и т. д. степени удерживания железа по типу добавок ( Fe3 или Fe4 ).

Какой самый простой способ сделать это?

Мне известна команда by () . Например, следующее дает кое-что из того, что мне нужно:

by(ex0331, ex0331$Supplement, summary)
ex0331$Supplement: Fe3
     Iron       Supplement
Min.   :0.710   Fe3:18    
1st Qu.:2.420   Fe4: 0    
Median :3.475             
Mean   :3.699             
3rd Qu.:4.472             
Max.   :8.240             
------------------------------------------------------------ 
ex0331$Supplement: Fe4
     Iron        Supplement
Min.   : 2.200   Fe3: 0    
1st Qu.: 3.892   Fe4:18    
Median : 5.750             
Mean   : 5.937             
3rd Qu.: 6.970             
Max.   :12.450      

Но мне нужно больше гибкости. Мне нужно применить команды оси , например, или функции log () по группам. Я уверен, что есть простой способ сделать это; Я этого просто не вижу. Вся документация по манипуляциям data.frame , которую я видел, предназначена для числовых, а не категориальных переменных.

5
задан Stephen O'Grady 8 December 2014 в 12:02
поделиться