如何在 R 中使用 sink() 函數

你可以在R中使用sink()函数将数据传送到外部连接。

大家好,今天我们将探讨R中sink()函数的应用。我们将尝试建立多种格式的连接,如文本和csv文件类型

使用sink()函数,你可以打印数据,也可以将数据或R输出导出为文本或CSV文件。

让我们看看它是如何工作的!


R中sink()函数的语法

Sink(): sink函数用于将在R中获取的输出传送到外部连接。

sink(file = NULL, type = c("output", "message"),split = FALSE)

其中:

  • File = 可编辑的连接或文件类型。
  • Append = 用于将数据追加到文件中以避免覆盖的逻辑函数。
  • Split = 输出将被重定向到新的连接或链接。

1. 设置工作目录

使用 sink() 函数的帮助,您可以轻松将输出作为连接打印到文本文件中。我们可以通过设置工作目录来开始此过程。

要检查当前工作目录:

#返回当前工作目录
getwd()
"C:/Users/Dell/Desktop/rfiles"

好的。现在我们得到了工作目录。您也可以使用以下方法更改工作目录:

#设置新的工作目录
setwd("The directory path here")

将路径粘贴到 setwd() 函数中以设置新的工作目录。之后不要忘记使用上面显示的 ‘getwd()’ 命令确认更改。


2. 将数据打印到文本文件

I hope you are ready with your working path now. Now we are going to create a file connection and print some data into it.

让我们看看它是如何工作的。

#将数据作为文本文件打印到连接中
sink("my_first_sink.txt")

#打印从 1 到 20 的数字
for (i in 1:20)
print(i)
sink()

现在您可以看到我们的 R 数据被整齐地打印到文本文件中。很棒,对吧?


3. 将数据导出到文本文件

在前一節中,我們已經將數據或輸出打印到文本文件中。在這一節中,我們將匯出R默認情況下可用的整個數據集。

讓我們看看它是如何工作的。

#將數據作為文本文件匯出
sink('export_dataframe.txt')
airquality
sink()

您可以看到空氣質量數據集的數據被傳送到文本文件作為外部連接。

這就是您可以輕松將數據在R中傳送到連接的方法。您還可以導出為CSV文件,如下所示。


4. 數據框匯出為CSV文件

在這一節中,我們將使用R中的sink()函數來驅動或將數據匯出為CSV文件。讓我們看看它是如何工作的。

#將數據作為CSV文件匯出
sink('export_dataframe_1.csv')
iris
sink()

這是一個包含從R控制台導出的數據的CSV文件。在R中,sink()函數提供了將數據傳送到外部連接(如文件)的最簡單方法。


將數據摘要導出到連接處

到目前為止,一切順利。現在,讓我們嘗試將上述部分學到的或理解到的應用在一起。

問題描述很簡單。

=> 選擇一個數據集,使用 summary() 函數獲取數據摘要。完成後,將結果輸出到文本文件作為連接。

讓我們開始吧!


1. 讓我們讀取數據

#讀取數據
df<-datasets::airquality
df
View(df)

問題描述的第一步在這裡。您可以在上圖中看到空氣質量數據集。


2. 數據的 summary()

使用 summary() 函數的數據摘要如下所示。

#返回數據的主要見解
summary(airquality)
  Ozone           Solar.R           Wind             Temp           Month      
 Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00   Min.   :5.000  
 1st Qu.: 18.00   1st Qu.:115.8   1st Qu.: 7.400   1st Qu.:72.00   1st Qu.:6.000  
 Median : 31.50   Median :205.0   Median : 9.700   Median :79.00   Median :7.000  
 Mean   : 42.13   Mean   :185.9   Mean   : 9.958   Mean   :77.88   Mean   :6.993  
 3rd Qu.: 63.25   3rd Qu.:258.8   3rd Qu.:11.500   3rd Qu.:85.00   3rd Qu.:8.000  
 Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00   Max.   :9.000  
 NA's   :37       NA's   :7                                                       
      Day      
 Min.   : 1.0  
 1st Qu.: 8.0  
 Median :16.0  
 Mean   :15.8  
 3rd Qu.:23.0  
 Max.   :31.0  

這是顯示最小值和最大值、四分位數、中位數、平均值等更多見解的數據摘要。

3. 將輸出驅動到連接

現在,您只需要將其導出到文本文件並將其作為外部連接。

# 將輸出數據驅動到 txt 文件
sink('problem-solution.txt')
summary(airquality)
sink()


4. 結束連接

您已經正確完成了所有步驟,並成功將數據作為外部連接驅動到文本文件中。

現在是時候結束連接了。

# 終止連接
unlink('problem-solution.txt')

上述命令將刪除文件連接。

總結所有步驟,

  • 在 R 控制台中讀取數據。
  • 對數據應用 summary() 函數。
  • 獲取數據的關鍵見解。
  • 使用 R 中的 sink() 函數將發現結果驅動到文本文件中。

結語

`sink()` 函數在 R 中將 R 輸出驅動到外部連接。您可以將數據以多種形式導出,例如文本和 CSV 文件。您可以將數據打印到連接中,也可以直接將整個數據導出到其中。

數據傳輸完成後,您可以取消連接以終止文件。

R 中的 `sink()` 函數在許多方面都很有用,因為它提供了臨時連接以處理數據。

更多閱讀: R 文件

Source:
https://www.digitalocean.com/community/tutorials/sink-function-in-r