Tenho um dataframe com coordenadas e raios para uma elipse em cada linha.
dat <- data.frame(id = c("a", "b", "c"),
x = c(1, 2, 3),
y = c(1, 2, 3),
sx = c(.3, .5, .7),
sy = c(.2, .4, .6))
> dat
id x y sx sy
1 a 1 1 0.3 0.2
2 b 2 2 0.5 0.4
3 c 3 3 0.7 0.6
Como posso criar um objeto espacial com todas as elipses?
Tentei o seguinte, o que resultou em um erro.
library(dplyr)
library(sfdep)
dat %>%
rowwise() %>%
ellipse(x = x, y = y, sx = sx, sy = sy, n = 10, rotation = 0)
Error in ellipse(., x = x, y = y, sx = sx, sy = sy, n = 10, rotation = 0) :
unused argument (.)
Obviamente,
sfdep::ellipse()
não tem um argumento de dados onde você tenta passar.
. Operações por linha são ineficientes de qualquer maneira, então, em vez de se preocupar com isso, você pode usá-loMap()
para passar as colunas como vetores.Dá
Trace-o
Tente transformar
data.frame
emsf
objeto de pontos primeiro, depois você pode usarst_ellipse()
. Comrowwise()
você ainda precisa usarmutate()
.