Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 关于图形问题的等式:“stat_poly_eq()”中的计算失败:变量长度不同(为';(权重)';)_R - Fatal编程技术网

R 关于图形问题的等式:“stat_poly_eq()”中的计算失败:变量长度不同(为';(权重)';)

R 关于图形问题的等式:“stat_poly_eq()”中的计算失败:变量长度不同(为';(权重)';),r,R,我正在尝试为我的论文数据创建一个图表,并收到下面的错误消息。图表运行,但方程式未打印在其上。我想不出问题出在哪里。有一行带有“NA”,但我手动将其从data.frame中删除 ****警告信息: 在stat\u poly\u eq()中计算失败: 可变长度不同(适用于“(重量)”)**** 任何帮助都将不胜感激。下面是呈现错误的图形代码 scatter.smooth(logspinbossht ~ logtestdia2) df <- data.frame(logtestdia2, lo

我正在尝试为我的论文数据创建一个图表,并收到下面的错误消息。图表运行,但方程式未打印在其上。我想不出问题出在哪里。有一行带有“NA”,但我手动将其从data.frame中删除

****警告信息: 在
stat\u poly\u eq()中计算失败
:
可变长度不同(适用于“(重量)”)****

任何帮助都将不胜感激。下面是呈现错误的图形代码

scatter.smooth(logspinbossht ~ logtestdia2)

df <- data.frame(logtestdia2, logspinbossht)

df6 <- df6[-c(574), ] ##remove NA

formula6 <- logspinbossht ~ logtestdia2
reg6 <- ggplot(df6, aes(x = logtestdia2, y = logspinbossht)) +
  geom_point() + 
  stat_smooth() + 
  stat_poly_eq(
    aes(label = paste(stat(eq.label), stat(adj.rr.label), sep = "~~~~")),
    formula = formula6, 
    parse=TRUE
  )

reg6 + 
  ggtitle("Spine Boss Length vs Test Diameter") + 
  xlab("Log Transformed Test Diameter (mm)") + 
  ylab("Log Transformed Spine Boss Length (mm)")
scatter.smooth(logspinbossht~logtestdia2)

df我怀疑您的问题可能是对象混淆的结果

您的代码意味着您有两个向量对象(名为
logtestdia2
logspinbossht
) 特定长度。它们被放入data.frame对象
df6
,并显示一行
df6
删除

稍后,您将使用
df6
data.frame进行
ggplot()
调用,还将使用基于矢量对象的公式。这些向量比df6长一个元素。长度不匹配会导致警告

如果我是对的,那么如果您按如下方式调整公式,您的代码可能会工作:

library(ggplot2)
library(ggpmisc)

# fake vector data
logtestdia2 <- log(sample(1:100, 1000, replace = TRUE))
logspinbossht <- log(sample(1:10, 1000, replace = TRUE))

# fake data.frame
df6 <- data.frame(logtestdia2,logspinbossht)

# remove row
df6 = df6[-c(574), ] 

# use the vectors from the data.frame
formula6 = df6$logspinbossht ~ df6$logtestdia2

# plot
reg6 <- ggplot(df6, aes(x = logtestdia2, y = logspinbossht))+
  geom_point()+
  stat_smooth()+
  stat_poly_eq(aes(label=paste(stat(eq.label),stat(adj.rr.label),sep = "~~~~")),formula=formula6,parse=TRUE)+
  ggtitle("Spine Boss Length vs Test Diameter")+
  xlab("Log Transformed Test Diameter (mm)")+
  ylab("Log Transformed Spine Boss Length (mm)")

reg6
库(ggplot2)
图书馆(ggpmisc)
#假矢量数据

logtestdia2如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。谢谢!这一切都解决了!