如何为 R lattice 包编写条件分支
How to write the conditional branches for R lattice package
我用 lattice 包用下面的 csv 文件画图。
我使用下面的代码得到了预期的图片。
library(lattice)
data_1 <- read.table("./Whosebug.csv", header=T, sep=",")
data <- na.omit(data_1)
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
}
)
此外,我使用下面的代码得到了下一张预期的图片。
library(lattice)
data_1 <- read.table("./Whosebug.csv", header=T, sep=",")
data <- na.omit(data_1)
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
panel.lmline(x, y)
}
)
我不想使用 panel.lmline 作为导致错误消息的数据,我想要下面的图片。图片为合成(damy)图
R lattice包的条件分支怎么用
使用了R 4.0.5、lattice 0.20-38、MacOS 10.14.5。
错误是因为该面板的 x 轴上的所有值都相同,因此无法计算出一条线。您可以使用以下代码检查非零范围并仅在可能的情况下画线
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
if(diff(range(x)) > 0) {
panel.lmline(x, y)
}
})
我用 lattice 包用下面的 csv 文件画图。
我使用下面的代码得到了预期的图片。
library(lattice)
data_1 <- read.table("./Whosebug.csv", header=T, sep=",")
data <- na.omit(data_1)
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
}
)
此外,我使用下面的代码得到了下一张预期的图片。
library(lattice)
data_1 <- read.table("./Whosebug.csv", header=T, sep=",")
data <- na.omit(data_1)
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
panel.lmline(x, y)
}
)
我不想使用 panel.lmline 作为导致错误消息的数据,我想要下面的图片。图片为合成(damy)图
R lattice包的条件分支怎么用
使用了R 4.0.5、lattice 0.20-38、MacOS 10.14.5。
错误是因为该面板的 x 轴上的所有值都相同,因此无法计算出一条线。您可以使用以下代码检查非零范围并仅在可能的情况下画线
xyplot(a ~ b | c, data = data, panel = function(x, y){
panel.xyplot(x, y)
if(diff(range(x)) > 0) {
panel.lmline(x, y)
}
})