gpt4 book ai didi

R 从 predict() 获取数字矩阵

转载 作者:行者123 更新时间:2023-12-05 03:17:45 24 4
gpt4 key购买 nike

我有以下代码:

fit_lm=lm(z~x+y)

mix <- 2
max <- 12
miy <- 2
may <- 12

griddf <- expand.grid(x = seq(mix,max, length.out = 10),
y = seq( miy,may,length.out = 10))


Prediction_data <- data.frame(griddf)
colnames(Prediction_data) <- c("x", "y")
coordinates(Prediction_data ) <- ~ x + y

terrain_lm <- predict(fit_lm, Prediction_data)

我希望 terrain_lm 是一个我可以使用的数字矩阵

fig <- plot_ly()

fig <- fig %>% add_surface(terrain_lm)

但我得到一个包含 100 个元素的一维数组。

最佳答案

predict 的结果是一个向量。您需要将它添加到 x 和 y 值,然后使用 xtabs 转换为适合曲面图的矩阵。

library(plotly)

#test data
x <- runif(20, 4, 10)
y <- runif(20, 3, 6)
z <- 3*x+y +runif(20, 0, 2)

fit_lm <- lm(z~x+y)


mix <- 2
max <- 12
miy <- 2
may <- 12

griddf <- expand.grid(x = seq(mix,max, length.out = 10),
y = seq( miy,may,length.out = 10))


terrain_lm <- data.frame(griddf)
terrain_lm$z <- predict(fit_lm, terrain_lm)

fig <- plot_ly(z = ~xtabs(z ~ x + y, data = terrain_lm))
fig <- fig %>% add_surface()

关于R 从 predict() 获取数字矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73946202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com