Использование пакета решеток в R:
Я глубоко проник в кроличью нору, и теперь мне нужна помощь, чтобы выбраться.
У меня есть несколько (дорогих) точек данных, которыеестественно, живут в сетке 32x32, но у меня нет всех возможных точек данных
> str(data)
'data.frame': 53 obs. of 3 variables:
$ X: num 16 16 16 16 13 13 13 13 23 23 ...
$ Y: num 20 16 23 10 16 23 20 10 16 23 ...
$ Z: num 1558 1561 1555 1540 1538 ...
Когда я пытаюсь использовать levelplot
, как это,
> levelplot(data$Z ~ rbind(data$X, data$X) * rbind(data$Y, data$Y),
xlim=c(0.5, 32.5), ylim=c(0.5, 32.5))
график имеетцветные пятна, сгруппированные (для меня) в замешательстве. Вывод из графика уровня
Чего я хотел бы добиться, так это того, чтобы у меня было одно цветное пятно на пару индексов 1 на 1, соответствующее моим данным.Отсутствующие точки сетки можно оставить белыми.
Я пытался понять документацию R, но бросил.
Далее я попробовал сетку с фиктивной NA
, а затем попытался заполнить соответствующие точки данных.Что-то вроде
> x <- seq(1, 32, length.out=32)
> y <- seq(1, 32, length.out=32)
> data <- expand.grid(X=x, Y=y)
> data$Z <- NA
> tmp <- res[selected_data, ]
> data[(data$X == tmp$X) & (data$Y == tmp$Y), 'Z'] <- tmp$Z
Error in `[<-.data.frame`(`*tmp*`, (data$X == tmp$Input_Channel) & (data$Y == :
replacement has 53 rows, data has 1024
Где res
- источник точек данных, а selected_data
- вектор логики, используемый для выбора данных из res
.В любом случае, это не сработает.
Несмотря на это, попытка заставить этот последний подход работать неверно.Я предпочел бы иметь правильное решение с levelplot
, чем мою неудачную работу.