Я пытаюсь добавить новую строку в матрицу для каждого запуска программы. Я считаю, что при первом запуске функции создается матрица и в последующие времена добавляется новая строка со значениями.добавить новую строку для каждого запуска функции
Вот некоторые фиктивные данные. Скажем, x
и y
- это стороны прямоугольника и z
какой-то идентификатор. В действительности, они не известны заранее, но выводятся функцией. Реальная функция принимает каталог видов в качестве аргумента, читает шейп-файлы, объединяет многоугольники и делает кучу других вещей, но выводит площадь поверхности. Для каждого вида (т. Е. Запуска функции) я хотел бы сохранить каждую выделенную область в матрице или в кадре данных для дальнейшего анализа, а не выводить его на отдельные переменные.
myfunc <- function(x, y, z){
area <- x*y
id <- z
tmp <- cbind(area,id)
assign(as.matrix('mtrx'), rbind(tmp), envir=.GlobalEnv)
}
Вышеупомянутое, очевидно, создает только матрицу и перезаписывает ее каждый раз, когда функция запускается.
Любые указатели были бы очень признательны!
Первым аргументом должно быть имя объекта для присвоения. Почему вы преобразовываете строку в матрицу символов? Работает ли это 'assign ('mtrx', ....)'? –
Матрица 'mtrx' создается после запуска функции ... –
ОК, но моя точка является первым аргументом' assign' - символьным вектором имени, которому вы хотите присвоить вещь, а не матрицы. Прочитайте '? Assign'. –