【问题标题】:abline() function not showing a line in plotabline() 函数未在图中显示一条线
【发布时间】:2019-01-29 03:47:09
【问题描述】:

尝试在 R 中绘制一条最佳拟合线以及我的数据集。数据是从 .csv 文件导入的。

除了 abline() 函数外,一切似乎都正常工作。

Data=read.csv("R/SpecArea.csv")
Data

new=log10(Data)
new

fit=lm(new)

fit

plot(new)
abline(fit)

感谢您的帮助。

这是整个程序的输出:

Data=read.csv("R/SpecArea.csv")
Data
    area species
1  44164      79
2  29979      79
3   4411      68
4   3423      54
5    583      34
6    385      41
7    305      40
8    233      44
9    160      16
10   133      38
11   120      22
12   108      23
13    80      29
14    71      29
15    68      21
16    62      22
17    38      24
18    33      17
19    32      24
> 
> new=log10(Data)
> 
> new
       area  species
1  4.645068 1.897627
2  4.476817 1.897627
3  3.644537 1.832509
4  3.534407 1.732394
5  2.765669 1.531479
6  2.585461 1.612784
7  2.484300 1.602060
8  2.367356 1.643453
9  2.204120 1.204120
10 2.123852 1.579784
11 2.079181 1.342423
12 2.033424 1.361728
13 1.903090 1.462398
14 1.851258 1.462398
15 1.832509 1.322219
16 1.792392 1.342423
17 1.579784 1.380211
18 1.518514 1.230449
19 1.505150 1.380211
> 
> fit=lm(new)
> 
> fit

Call:
lm(formula = new)

Coefficients:
(Intercept)      species  
     -3.508        3.941  


 plot(new)
 abline(fit)

抱歉,格式不佳...我在移动设备上发帖

【问题讨论】:

  • 你能产生适合的输出吗?你确定工作正常吗?
  • 是的,我也添加了这个问题。我不确定它是否正常工作。这些值似乎不正确,是否对我的数据运行 lm() 函数不是正确的处理方式?
  • 在我看来,我的问题可能正在发生,因为我没有正确标记构成我的数据集的向量。是否可以将我的数据表的列变成向量?

标签: r lm


【解决方案1】:

fit 的等式与您的绘图语句不匹配。 lm(new) 假设“物种”是自变量,而 plot(new) 假设“面积”是。

试试这个:

fit<-lm(species ~ area, data = new)

#Call:
#lm(formula = species ~ area, data = new)

#Coefficients:
#(Intercept)         area  
#     1.0223       0.2002  

【讨论】:

  • 在这种情况下,lm() 函数是否定义了物种和区域?当我过去尝试使用它们时,它表明它们不被识别。由于函数的最后一行“data=new”部分,你能做到这一点吗?
  • 是的,lm 中的 data 选项指定了数据框,因此您只需在公式中指定列名即可。否则需要使用 new$area & new$species。
猜你喜欢
  • 1970-01-01
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多