У меня есть большой data.frame, содержащий различные лесные участки, породы деревьев и их размеры. Для некоторых деревьев у меня есть данные height и dbh , для некоторых у меня только dbh. Мне нужно рассчитать недостающие высоты для дополнительной оценки. Высота - это сайт и вид, указывающий c, поэтому я использовал функцию by () для подмножества with_height :
tmp <- with(with_height,
by(with_height, with_height[,1:2], #with_height[,1:2] are site and species
function(x) lm(height~log(dbh), data = x)))
Это работает и создает большой список (1144 безымянных). элементы, 9.8Mb).
Как получить доступ к этому списку? Мне нужны либо lm (), либо коэффициенты для каждой реальной комбинации участка и вида (без ответов NULL / ZERO, если вид не встречается).
Я обнаружил, что
tmp[[1]]$coefficients
возвращает
tmp[[1]]$coefficients
(Intercept) log(dbh)
-16.36298 11.18222
Но как мне узнать, с какой комбинацией сайтов-видов это связано? И есть ли способ сделать это для всех реальных комбинаций сайтов-видов одновременно?
Я уже потратил часы на этот вопрос и был бы очень благодарен за любую помощь и советы!