это простой вопрос, и я уверен, что его легко решить с помощью tapply, apply, by и т. д. Однако я все еще относительно новичок в этом, и я хотел бы попросить совета.
Эта проблема:
У меня есть фрейм данных, скажем, с 5 столбцами. Колонки 4 и 5, скажем, множители. Для каждого фактора в столбце 5 я хочу выполнить функцию по столбцам 1:3 для каждой группы в моем столбце 5. Это, в принципе, легко выполнимо. Тем не менее, я хочу, чтобы на выходе была красивая таблица, и я хочу научиться делать это элегантно, поэтому я хотел бы спросить вас здесь.
Пример:
df <- data.frame(x1=1:6, x2=12:17, x3=3:8, y=1:2, f=1:3)
Теперь команда
by(df[,1:3], df$y, sum)
даст мне сумму на основе каждого уровня фактора в y
, что почти то, что я хочу. Необходимы два дополнительных шага: первый — сделать это для каждого уровня фактора в f
. Это почти тривиально. Я мог бы легко обернуть lapply
вышеприведенную команду и получить то, что хочу, за исключением этого: я хочу создать таблицу с результатами и, возможно, даже использовать ее для создания тепловой карты.
Следовательно: есть ли простой и элегантный способ сделать это и создать матрицу с соответствующим выходом? Это похоже на повседневную задачу для специалистов по данным, поэтому я подозреваю, что существует существующее встроенное решение...
Спасибо за любую помощь или любой намек, каким бы маленьким он ни был!