如何在 r 中使用 attach()(附示例)


您可以使用 R 中的Attach()函数来访问数据框对象,而无需键入数据框名称。

该函数使用以下基本语法:

 attach(data)

以下示例通过以下数据框展示了如何在不同场景中使用此功能:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

示例1:使用attach()进行计算

通常如果我们想要计算平均值、中位数、极差等。对于数据框中的列,我们将使用以下语法:

 #calculate mean of rebounds column
mean(df$rebounds)

[1] 26.8

#calculate median of rebounds column
median(df$rebounds)

[1] 28

#calculate range of rebounds column
range(df$rebounds)

[1] 24 30

但是,如果我们使用Attach() ,我们甚至不需要输入数据框名称来执行这些计算:

 attach(df)

#calculate mean of rebounds column
mean(rebounds)

[1] 26.8
#calculate median of rebounds column
median(rebounds)

[1] 28
#calculate range of rebounds column
range(rebounds)

[1] 24 30

使用Attach() ,我们可以直接引用列名,并且 R 知道我们正在尝试使用哪个数据框。

示例 2:使用 Attach() 拟合回归模型

通常,如果我们想在 R 中拟合线性回归模型,我们将使用以下语法:

 #fit regression model
fit <- lm(points ~ assists + rebounds, data=df)

#view coefficients of regression model
summary(fit)$coef

              Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.7071984 13.2030474 1.416885 0.29222633
assists 0.5194553 0.2162095 2.402555 0.13821408
rebounds 2.0802529 0.3273034 6.355733 0.02387244

但是,如果我们使用Attach() ,我们甚至不需要使用lm()函数中的data参数来拟合回归模型:

 #fit regression model
fit <- lm(points ~ assists + rebounds)

#view coefficients of regression model
summary(fit)$coef

              Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.7071984 13.2030474 1.416885 0.29222633
assists 0.5194553 0.2162095 2.402555 0.13821408
rebounds 2.0802529 0.3273034 6.355733 0.02387244

请注意,回归结果完全相同。

奖励:使用 detach() 和 search()

您可以使用search()函数显示当前 R 环境中的所有附加对象:

 #show all attached objects
search()

 [1] ".GlobalEnv" "df" "package:stats"    
 [4] "package:graphics" "package:grDevices" "package:utils"    
 [7] "package:datasets" "package:methods" "Autoloads"        
[10] "package:base"  

您可以使用detach()函数来分离当前分离的对象:

 #detach data frame
detach(df)

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何清除R中的环境
如何清除 RStudio 中的所有绘图
如何在R中的同一行上打印多个变量

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注