Not so tidy, but you may try something like:
library(plotrix)
library(VecStatGraphs2D)
Data <- data.frame(
x = sample(1:100),
y = sample(1:100), angle = sample(1:100), lenght = sample(1:100),
matrixID = sample(letters[1:4], 20, replace = TRUE))
for (i in unique(Data$matrixID))
{
dev.new()
Data1 <- subset(Data, matrixID == i)
plot(0:100, type = "n")
vectorField(Data1$angle,Data1$lenght,Data1$x,Data1$y,scale=0.15, headspan=0, vecspec="deg")
}
for your example, and
for (i in unique(Coordinates$matrixID))
{
dev.new()
Coordinates1 <- subset(Coordinates, matrixID == i)
plot(grid, type = "n")
vectorField(Coordinates1$Angle,Coordinates1&Length,Coordinates1$x,Coordinates1$y,scale=0.15, headspan=0, vecspec="deg")
}
in your code.