

{"id":4411,"date":"2017-10-05T11:00:40","date_gmt":"2017-10-05T11:00:40","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=4411"},"modified":"2021-08-25T17:26:39","modified_gmt":"2021-08-25T11:56:39","slug":"input-output-features-in-r","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/","title":{"rendered":"Input-Output Features in R Programming &#8211; How to use its Functions"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1467,&quot;href&quot;:&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/R_(programming_language)&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251001042859\\\/https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/R_(programming_language)&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 08:17:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-12 12:22:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-15 12:29:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-18 15:20:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-21 18:00:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-25 04:08:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-28 06:54:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-31 09:47:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-03 17:14:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-06 19:17:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 21:09:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-13 04:31:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 15:06:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-19 19:03:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-23 05:30:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-26 10:18:28&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 11:45:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-01 12:00:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-04 12:09:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 15:09:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 18:01:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 23:45:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-17 05:29:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 07:23:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-23 10:05:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 14:54:33&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-01 16:00:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-04 19:56:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 03:19:57&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-11 07:47:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 13:54:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-17 17:24:09&quot;,&quot;http_code&quot;:429},{&quot;date&quot;:&quot;2026-03-20 23:04:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-24 00:07:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 00:15:51&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 08:20:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 14:48:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 19:55:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-10 05:52:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 07:47:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 08:05:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 13:04:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-22 13:52:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-25 13:58:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-29 01:16:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-02 04:13:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-05 06:33:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-08 17:48:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-12 03:38:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-15 04:53:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-18 09:15:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-21 12:35:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-25 03:51:04&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-28 07:13:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-01 04:45:49&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-04 06:40:14&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-07 06:45:43&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-10 09:02:48&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-13 16:18:42&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-13 16:18:42&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>With this tutorial of R programming, explore the various input-output features in R. Also, learn about the functions used in the features and their implementation with examples. So, let&#8217;s start.<\/p>\n<h2>Introduction to Input-Output Features in R<\/h2>\n<p>We will discuss the different input-output features in R programming one-by-one:<\/p>\n<h3>1. Accessing the Keyboard and Monitor<\/h3>\n<p>In R, there are a series of functions that can\u00a0be used\u00a0to request an input from the user, including\u00a0<em>readline(), cat(), and scan()<\/em>. But, the\u00a0readline() function is the most optimal function for this task.<\/p>\n<h4>Reading from the keyboard:<\/h4>\n<p>To read the data from the keyboard, we use three different functions;\u00a0<em>scan(), readline(), print().<\/em><\/p>\n<ul>\n<li><strong>scan()<\/strong><\/li>\n<\/ul>\n<p><em>Read Data Values:<\/em> This is used for reading data into the input vector or an input list from the environment console or file.<\/p>\n<p><strong>Keywords: <\/strong>File, connection.<\/p>\n<p><strong>For example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; #Author DataFlair\r\n&gt; inp = scan() \r\n&gt; inp\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65243\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan.jpg\" alt=\"inp-scan() - R Input Output Features\" width=\"1298\" height=\"736\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan.jpg 1298w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan-150x85.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan-300x170.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan-768x435.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan-1024x581.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/inp-scan-520x295.jpg 520w\" sizes=\"auto, (max-width: 1298px) 100vw, 1298px\" \/><\/a><\/p>\n<p><em><strong>Wait! Have you completed the <a href=\"https:\/\/data-flair.training\/blogs\/debugging-in-r-programming\/\">Principles and Functions of R Debugging<\/a><\/strong><\/em><\/p>\n<ul>\n<li><strong>readline()<\/strong><\/li>\n<\/ul>\n<p>With readline(), we read multiple lines from a connection.<\/p>\n<p><strong>Keywords<\/strong>: File, connection.<\/p>\n<p>We can use readline() for inputing a line from the keyboard in the form of a string:<\/p>\n<p><strong>For example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; str = readline()\r\n&gt; str<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65244\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline.jpg\" alt=\"readline() - R Input Output Features\" width=\"1297\" height=\"747\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline.jpg 1297w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline-300x173.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline-768x442.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline-1024x590.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readline-520x299.jpg 520w\" sizes=\"auto, (max-width: 1297px) 100vw, 1297px\" \/><\/a><\/p>\n<ul>\n<li><strong>print()<\/strong><\/li>\n<\/ul>\n<p>A print function simply displays the contents of its argument object. New printing methods can be easily added for new classes through this generic function.<\/p>\n<p><strong>Keywords<\/strong>: print<\/p>\n<p><em>Printing to the screen:<\/em> In interactive mode, one can print the value of the variable by just typing the variable name or expression.<em> print()<\/em> function can be used in the batch mode as:<\/p>\n<p style=\"text-align: center\"><em>print(x)<\/em><\/p>\n<p>The argument might be an object. So it is better to use <em>cat()<\/em> instead of <em>print()<\/em>, as the last one can print only one expression and its result is numbered, which may be a nuisance to us. Here is an example written below:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; print(\"DataFlair\")\r\n&gt; cat(\"DataFlair \\n\")\r\nDataFlair \r\n&gt; int &lt;- 24\r\n&gt; cat(int, \"DataFlair\", \"Big Data\\n\")\r\n24 DataFlair Big Data\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print-.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65246\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print-.jpg\" alt=\"print() - R Input Output Features\" width=\"1297\" height=\"744\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print-.jpg 1297w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print--150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print--300x172.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print--768x441.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print--1024x587.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/print--520x298.jpg 520w\" sizes=\"auto, (max-width: 1297px) 100vw, 1297px\" \/><\/a><\/p>\n<p><em><strong>Take a sneak peek into <a href=\"https:\/\/data-flair.training\/blogs\/r-arguments-introduction\/\">Arguments in R Programming<\/a><\/strong><\/em><\/p>\n<h3>2. Reading and Writing Files<\/h3>\n<p>There are many methods to read and write files in R programming:<\/p>\n<h4>2.1 Reading a data or matrix from a file<\/h4>\n<p>Usually we use function <em>read.table()<\/em> to read data. A header has a default value of &#8216;FALSE&#8217;. Therefore, having no header pertains to no value. R factors are also called as character strings. In order to disable this feature, the argument can be stated <em>as.is = T<\/em> as a part of your call to read.table().<\/p>\n<p>When you have a spreadsheet export file, i.e. having a<em> type.csv<\/em> where the fields\u00a0are divided by\u00a0commas in place of spaces, use <em>read.csv()<\/em> in place of <em>read.table()<\/em>. To read spreadsheet files, we can use read.xls.<\/p>\n<p>When you read in a matrix using read.table(), the resultant object will become a data frame, even when all the entries got to be numeric. A case exists which may followup call towards <em>as.matrix()<\/em> in a matrix.<\/p>\n<p><strong>For example:<\/strong><\/p>\n<p>We store this matrix in a file. We will then use the scan() function to read the contents of this file.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; matr &lt;- matrix(scan(\"\/home\/dataflair\/matrix\"),nrow=5,byrow=T)\r\n\r\n&gt; matr\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65247\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix.jpg\" alt=\"matrix - R Input Output Features\" width=\"1300\" height=\"742\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix.jpg 1300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix-300x171.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix-768x438.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix-1024x584.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/matrix-520x297.jpg 520w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/a><\/p>\n<p><em><strong>You must definitely check the <a href=\"https:\/\/data-flair.training\/blogs\/r-matrix-functions\/\">tutorial on R Matrix Functions<\/a><\/strong><\/em><\/p>\n<h4>2.2 Reading a single file one line at a time<\/h4>\n<p>We can use <em>readLines()<\/em> for this, but we need to produce a connection first, by calling the file().<\/p>\n<p><strong>For example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; lines &lt;- file(\"\/home\/dataflair\/matrix\")\r\n&gt; readLines(lines,n=1)\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65248\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1.jpg\" alt=\"readLines() - R Input Output Features\" width=\"1300\" height=\"744\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1.jpg 1300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1-300x172.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1-768x440.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1-1024x586.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/readLines-1-520x298.jpg 520w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/a><\/p>\n<h4>2.3 Writing a table to a file<\/h4>\n<p>In R, we use <em>write.table()<\/em> function to write a data-frame in the form of a table. It is same as<em> read.table()<\/em> which writes a data frame instead of reading one. Let us first create our table as follows:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">data &lt;- read.table(header=TRUE, text='\r\nsubject sex size\r\n1 M 7\r\n2 F NA\r\n3 F 9\r\n4 M 11\r\n')\r\n\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65250\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output.jpg\" alt=\"Writing a Table output\" width=\"1297\" height=\"741\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output.jpg 1297w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output-300x171.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output-768x439.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output-1024x585.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Writing-a-Table-output-520x297.jpg 520w\" sizes=\"auto, (max-width: 1297px) 100vw, 1297px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">We then write a table to the file as follows:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; write.table(data,\"\/home\/dataflair\/Table\",row.names=F,col.names=F)\r\n<\/pre>\n<p><strong>File Display:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65269\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table.png\" alt=\"Table - R Input Output Features\" width=\"1300\" height=\"736\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table.png 1300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table-150x85.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table-300x170.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table-768x435.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table-1024x580.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/Table-520x294.png 520w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">Opening the \u201cTable\u201d file at the saved location, we obtain:<\/span><\/p>\n<p><em><strong>A must learn concept that you can&#8217;t miss &#8211; <a href=\"https:\/\/data-flair.training\/blogs\/r-data-frame\/\">R Data Frame<\/a><\/strong><\/em><\/p>\n<h3>3. Connection Operations<\/h3>\n<p>There are functions to Manipulate Connections (Files, URLs,&#8230;). Functions to create, open and close connections.<\/p>\n<p><strong>For example:<\/strong>\u00a0URLs, pipes and other types of generalised files.<\/p>\n<p><strong>Keywords:\u00a0<\/strong>file, connection<\/p>\n<p><strong>Extended Example<\/strong>: Reading PUMS sample files<\/p>\n<p>There is a collection of records for every sample of housing units that store information about the characteristics of each unit.<\/p>\n<h4>a) Why use PUMS?<\/h4>\n<p>There is greater accessibility to the inexpensive data, mostly for research purposes. Therefore, for students, this is highly beneficial because they are searching for higher accessibility to inexpensive data. Social scientists often use the PUMS for regression analysis and modeling applications.<\/p>\n<h4>b)\u00a0How can I access PUMS?<\/h4>\n<p>Statistical software is a tool used to work with PUMS files.<\/p>\n<p><em><strong>Do you know about <a href=\"https:\/\/data-flair.training\/blogs\/r-linear-regression-tutorial\/\">Linear Regression in R Programming<\/a><\/strong><\/em><\/p>\n<h3>4. Writing to a file<\/h3>\n<p>We use write.csv() to write files. By default, write.csv() includes row names.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># Author DataFrame\r\ndata &lt;- read.table(header=TRUE, text='\r\nsubject sex size\r\n1 M 7\r\n2 F NA\r\n3 F 9\r\n4 M 11\r\n')\r\n# Write to a file, suppress row names\r\nwrite.csv(data, \"\/home\/dataflair\/data.csv\", row.names=FALSE)\r\n<\/pre>\n<p><span style=\"font-weight: 400\">We obtain the following output in our data.csv file:<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65252\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output.jpg\" alt=\"data_csv_File_output\" width=\"1303\" height=\"741\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output.jpg 1303w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output-150x85.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output-300x171.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output-768x437.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output-1024x582.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output-520x296.jpg 520w\" sizes=\"auto, (max-width: 1303px) 100vw, 1303px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">In the above output of our file, we have a missing value denoted by NA. We can replace this NA with \u201c\u201d using the following line of code:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; write.csv(data, \"\/home\/dataflair\/data.csv\", na=\"\")<\/pre>\n<p><span style=\"font-weight: 400\">The output is saved in our file data.csv as follows:<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65255\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output.jpg\" alt=\"csv() output - R Input Output Features\" width=\"1300\" height=\"747\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output.jpg 1300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-300x172.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-768x441.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-1024x588.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-520x299.jpg 520w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/a><\/p>\n<p>The output is saved in our file data.csv as follows:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65254\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2.jpg\" alt=\"data_csv_File_output 2\" width=\"1297\" height=\"741\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2.jpg 1297w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2-300x171.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2-768x439.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2-1024x585.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/data_csv_File_output2-520x297.jpg 520w\" sizes=\"auto, (max-width: 1297px) 100vw, 1297px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">We can also use tabs, suppress row and column names using the following line of code:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&gt; write.table(data, \"data.csv\", sep=\"\\t\", row.names=FALSE, col.names=FALSE)<\/pre>\n<p><span style=\"font-weight: 400\">Our file data.csv is now displayed as follows:\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65258\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2.jpg\" alt=\"csv() output 2\" width=\"1300\" height=\"744\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2.jpg 1300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2-300x172.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2-768x440.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2-1024x586.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/csv-output-2-520x298.jpg 520w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/a><\/p>\n<h3>5. File and Directory Information<\/h3>\n<p>Merge all files in a directory using <a href=\"https:\/\/en.wikipedia.org\/wiki\/R_(programming_language)\">R<\/a> into a single data frame.<\/p>\n<p><strong>Set the directory:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">setwd(\"\/home\/dataflair\/DataFlair\")\r\n<\/pre>\n<p><strong>Getting a list of files in a directory:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">file_list &lt;- list.files()<\/pre>\n<p>If we want to list the files in a different directory, specify the path to list.files.<\/p>\n<p><strong>For example:<\/strong><\/p>\n<p>If we want the files in the folder C:\/foo\/, we can use the following code:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">file_list &lt;- list.files()\r\n<\/pre>\n<h4>Merging the files into a single data frame<\/h4>\n<p>The final step is to iterate through the list of files in the current working directory and put them together to form a data frame.\u00a0When the script encounters the first file in the file_list, it creates the main data frame to merge everything into (called dataset here). This\u00a0is done\u00a0using the <em>!exists conditional<\/em>:<\/p>\n<ul>\n<li>If a dataset already exists, then a temporary data frame, called <em>temp_dataset<\/em>\u00a0is created\u00a0and added to the dataset. The temporary data frame is removed when we\u2019re done with it using the <em>rm(temp_dataset)<\/em> command.<\/li>\n<li>If the dataset doesn\u2019t exist (!exists is true), then we have to create it.<\/li>\n<\/ul>\n<p><strong>Here\u2019s the\u00a0remainder\u00a0of the code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if (!exists(\"dataset\")){\r\n  dataset &lt;- read.table(\"data.csv\", header=TRUE, sep=\"\\t\")\r\n}\r\n# if the merged dataset does exist, append to it\r\nif (exists(\"dataset\")){\r\n  temp_dataset &lt;-read.table(\"data.csv\", header=TRUE, sep=\"\\t\")\r\n  dataset&lt;-rbind(dataset, temp_dataset)\r\n  rm(temp_dataset)\r\n}\r\n<\/pre>\n<p><strong>The full code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">setwd(\"\/home\/dataflair\/DataFlair\")\r\nfile_list &lt;- list.files()\r\n# if the merged dataset doesn't exist, create it\r\nif (!exists(\"dataset\")){\r\n  dataset &lt;- read.table(\"data.csv\", header=TRUE, sep=\"\\t\")\r\n}\r\n# if the merged dataset does exist, append to it\r\nif (exists(\"dataset\")){\r\n  temp_dataset &lt;-read.table(\"data.csv\", header=TRUE, sep=\"\\t\")\r\n  dataset&lt;-rbind(dataset, temp_dataset)\r\n  rm(temp_dataset)\r\n}\r\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-65260\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput.jpg\" alt=\"setwd output\" width=\"1297\" height=\"744\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput.jpg 1297w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput-150x86.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput-300x172.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput-768x441.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput-1024x587.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/setwdoutput-520x298.jpg 520w\" sizes=\"auto, (max-width: 1297px) 100vw, 1297px\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>We have studied about different input-output features in R programming. Along with this, we have studied a series of functions which request to take input from the user and make it easier to understand the data as we use functions to access data from the user and have different ways to read and write\u00a0graph. TCP\/IP is a set of protocols which is also a way of accessing the data.<\/p>\n<p><em><strong>The next tutorial in R Programming DataFlair Tutorial Series &#8211; <a href=\"https:\/\/data-flair.training\/blogs\/r-string-manipulation\/\">R String Manipulation Functions<\/a><\/strong><\/em><\/p>\n<p>If you have any query related to Input-output features in R, so feel free to share with us.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With this tutorial of R programming, explore the various input-output features in R. Also, learn about the functions used in the features and their implementation with examples. So, let&#8217;s start. Introduction to Input-Output Features&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":65284,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[20703,11206],"class_list":["post-4411","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r","tag-r-connection-operations","tag-r-input-output-features"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Input-Output Features in R Programming - How to use its Functions - DataFlair<\/title>\n<meta name=\"description\" content=\"Learn about the major input-output features in R Programming along with their functions and examples to implement them in a thorough manner.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Input-Output Features in R Programming - How to use its Functions - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Learn about the major input-output features in R Programming along with their functions and examples to implement them in a thorough manner.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-10-05T11:00:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-25T11:56:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Input-Output Features in R Programming - How to use its Functions - DataFlair","description":"Learn about the major input-output features in R Programming along with their functions and examples to implement them in a thorough manner.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/","og_locale":"en_US","og_type":"article","og_title":"Input-Output Features in R Programming - How to use its Functions - DataFlair","og_description":"Learn about the major input-output features in R Programming along with their functions and examples to implement them in a thorough manner.","og_url":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-10-05T11:00:40+00:00","article_modified_time":"2021-08-25T11:56:39+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png","type":"image\/png"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Input-Output Features in R Programming &#8211; How to use its Functions","datePublished":"2017-10-05T11:00:40+00:00","dateModified":"2021-08-25T11:56:39+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/"},"wordCount":1140,"commentCount":2,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png","keywords":["R Connection Operations","R Input Output Features"],"articleSection":["R Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/","url":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/","name":"Input-Output Features in R Programming - How to use its Functions - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png","datePublished":"2017-10-05T11:00:40+00:00","dateModified":"2021-08-25T11:56:39+00:00","description":"Learn about the major input-output features in R Programming along with their functions and examples to implement them in a thorough manner.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/10\/input-output-features-in-R.png","width":802,"height":420,"caption":"input-output-features-in-R"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/input-output-features-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"R Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/r\/"},{"@type":"ListItem","position":3,"name":"Input-Output Features in R Programming &#8211; How to use its Functions"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/4411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=4411"}],"version-history":[{"count":12,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/4411\/revisions"}],"predecessor-version":[{"id":65309,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/4411\/revisions\/65309"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/65284"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=4411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=4411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=4411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}