R线性回归:如何在qq图、比例位置图、残差与杠杆率等数据点上获得标签

R线性回归:如何在qq图、比例位置图、残差与杠杆率等数据点上获得标签,r,plot,label,linear-regression,R,Plot,Label,Linear Regression,我有一个欧盟成员国的小数据集,其中包含了关于谈判成功程度和成员国在谈判中表现出的活动水平的价值观 我正在用R做一个线性回归 简言之,假设是: 一个会员国表现出的活动越多,其谈判就越成功 我经常处理数据,转换数据等等 到目前为止我所做的: # Stored the dataset from a csv file in object linData linData = read.csv(file.choose(), sep = ";", encoding = "de_D

我有一个欧盟成员国的小数据集,其中包含了关于谈判成功程度和成员国在谈判中表现出的活动水平的价值观

我正在用R做一个线性回归

简言之,假设是: 一个会员国表现出的活动越多,其谈判就越成功

我经常处理数据,转换数据等等

到目前为止我所做的:

# Stored the dataset from a csv file in object linData
linData = read.csv(file.choose(), sep = ";", encoding = "de_DE.UTF-8")

# As I like to switch variables and test different models, I send the relevant ones to objects x and y.
# So it is easier for me to change it in the future.
x = linData$ALL_Non_Paper_Art.Ann.Recit.Nennung
y = linData$Success_high

# I put the label for each observation in a factor lab
lab = linData$MS_short

# After this I run the linear model
linModel = lm(y~x, data = linData)
summary(linModel)

# I create a simple scatterplot. Here the labels from the factor lab work fine
plot(x, y)
text(x, y, labels=lab, cex= 0.5, pos = 4)

到目前为止还不错。现在我想检查一下模型的质量。对于目视检查,我发现我可以使用该命令

plot(linModel)
?plot.lm
这将在一行中生成4个绘图:

正如您在每张图片中所看到的,R通过一个数字标记有问题的观察结果。如果R可以使用te数据集中的“MS_short”列并将标签添加到标记的观测值中,这将非常方便。我相信这是可能的。。。但是怎么做呢

我在R公司工作了两个月。我在这里通过谷歌找到了一些东西,但没有任何东西帮我解决问题。我没有可以问的人。这是我第一次在这里发布stackoverflow

先谢谢你
雷纳

在G.格罗森迪克的帮助下,我解决了这个问题

在输入plot的R-help之后,更具体地说,可以使用命令查看plot和线性回归(plot.lm)的帮助

plot(linModel)
?plot.lm
我阅读了包含“参数和用法”部分的框,并识别了labels.id参数和id.n参数

id.n是“每个绘图中要标记的点数,从最极端开始。”

我需要这个。我对这个极端点的识别感兴趣。R已经在所有图形中标记了3个最极端的点(见初始帖子),但使用了观察值数字,而没有任何有用的标签。任何其他标签都会弄乱图形。所以,我们要记住:在我的例子中,我想给3个最极端的值贴上标签

现在,让我们将其添加到命令中: 我从上面一样开始,用我已经计算的线性模型->绘图(linModel)的绘图。之后,我添加了“id.n=”并将值设置为“3”。看起来是这样的:

plot(linModel, id.n = 3, 
到目前为止还不错,现在R知道应该标记什么,但仍然不知道应该使用什么作为标签。 为此,我们必须将labels.id添加到命令中

labels.id是“标签向量,将从中选择极值点的标签。”

我假设我的数据集中有一列(不是线性模型!)具有向量的属性,因此我在命令中添加了逗号,然后是“labels.id=”,然后输入数据集的名称和列,因此在我的例子中是:“linData$MS_short”其中,linData是数据集,MS_用每个成员国的2个字母字符串短列。最后的命令如下所示:

plot(linModel, id.n = 3, labels.id = linData$MS_short)
然后它就成功了(参见)。故事结束了


希望这能对其他新手有所帮助。问候。

plot.lm
有一个
labels.id
参数。请参见
?plot.lm
谢谢,我会试试的。