在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ R語言CSV文件
R語言列表
R語言隨機森林
R語言矩陣
R語言邏輯回歸
R語言數(shù)據(jù)幀
R語言數(shù)據(jù)重塑
R語言概述
R語言包
R語言字符串
R語言CSV文件
R語言運算符
為什么使用R語言做統(tǒng)計?
R語言Web數(shù)據(jù)
R語言二進制文件
R語言XML文件
R語言JSON文件
R語言因子
R語言容易學習嗎?
R語言基礎語法
R語言向量
R語言教程
R語言正態(tài)分布
R語言平均值,中位數(shù)和眾數(shù)
R語言變量
R語言條形圖
R語言決策樹
R語言開發(fā)環(huán)境安裝配置
R語言數(shù)組
R語言數(shù)據(jù)類型
R語言非線性最小二乘法
R語言直方圖
R語言卡方檢驗
R語言泊松回歸
R語言決策結構
R語言盒形圖(箱形圖)
R語言協(xié)方差分析
R語言二項分布
R語言餅狀圖
R語言循環(huán)
R語言散點圖
R語言線性回歸
R語言時間序列分析
R語言線形圖
R語言在現(xiàn)實中的應用
R語言生存分析
R語言多元(多重)回歸
R語言函數(shù)
R語言Excel文件
R語言連接數(shù)據(jù)庫(MySQL)

R語言CSV文件

在R中,我們可以從存儲在R環(huán)境外部的文件讀取數(shù)據(jù)。還可以將數(shù)據(jù)寫入由操作系統(tǒng)存儲和訪問的文件。 R可以讀取和寫入各種文件格式,如:csv,excel,xml等。

在本章中,我們將學習如何從csv文件中讀取數(shù)據(jù),然后將數(shù)據(jù)寫入csv文件。 該文件應該存在于當前工作目錄中,以方便R可以讀取它。 當然,也可以設置自己的目錄,并從那里讀取文件。

獲取和設置工作目錄

可以使用getwd()函數(shù)來檢查R工作區(qū)指向哪個目錄,使用setwd()函數(shù)設置新的工作目錄。

# Get and print current working directory.
print(getwd())

# Set current working directory.
# setwd("/web/com")
setwd("F:/worksp/R")

# Get and print current working directory.
print(getwd())

當我們執(zhí)行上述代碼時,會產生以下結果 -

[1] "C:/Users/Administrator/Documents"
[1] "F:/worksp/R"

注意: 此結果取決于您的操作系統(tǒng)和您當前正在工作的目錄。

作為CSV文件輸入

csv文件是一個文本文件,其中列中的值用逗號分隔。假設下面的數(shù)據(jù)存在于名為input.csv 的文件中。

您可以使用Windows記事本通過復制和粘貼此數(shù)據(jù)來創(chuàng)建此文件。使用記事本中的另存為所有文件(*.*)選項將文件另存為:input.csv(在目錄:F:/worksp/R 下載)。

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Michelle,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
 ,Gary,843.25,2015-03-27,Finance
6,Nina,578,2013-05-21,IT
7,Simon,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

讀取CSV文件

以下是read.csv()函數(shù)的一個簡單示例,用于讀取當前工作目錄中可用的CSV文件 -

setwd("F:/worksp/R")
data <- read.csv("input.csv")
print(data)

當我們執(zhí)行上述代碼時,會產生以下結果 -

> data <- read.csv("input.csv")
> print(data)
  id     name salary start_date       dept
1  1     Rick 623.30 2012-01-01         IT
2  2      Dan 515.20 2013-09-23 Operations
3  3 Michelle 611.00 2014-11-15         IT
4  4     Ryan 729.00 2014-05-11         HR
5 NA     Gary 843.25 2015-03-27    Finance
6  6     Nina 578.00 2013-05-21         IT
7  7    Simon 632.80 2013-07-30 Operations
8  8     Guru 722.50 2014-06-17    Finance

分析CSV文件

默認情況下,read.csv()函數(shù)將輸出作為數(shù)據(jù)幀。這可以很容易地查看到,此外,我們可以檢查列和行的數(shù)量。

setwd("F:/worksp/R")
data <- read.csv("input.csv")

print(is.data.frame(data))
print(ncol(data))
print(nrow(data))

當我們執(zhí)行上述代碼時,會產生以下結果 -

[1] TRUE
[1] 5
[1] 8

當我們在數(shù)據(jù)幀中讀取數(shù)據(jù),可以應用所有適用于數(shù)據(jù)幀的函數(shù),如下一節(jié)所述。

獲得最高工資

# Create a data frame.
data <- read.csv("input.csv")

# Get the max salary from data frame.
sal <- max(data$salary)
print(sal)

當我們執(zhí)行上述代碼時,會產生以下結果 -

[1] 843.25

獲得最高工資的人員的詳細信息

可以使用過濾條件獲取符合特定的行,類似于SQL的where子句。

setwd("F:/worksp/R")
# Create a data frame.
data <- read.csv("input.csv")

# Get the max salary from data frame.
sal <- max(data$salary)

# Get the person detail having max salary.
retval <- subset(data, salary == max(salary))
print(retval)

當我們執(zhí)行上述代碼時,會產生以下結果 -

      id    name  salary  start_date    dept
5     NA    Gary  843.25  2015-03-27    Finance

獲取IT部門的所有人員

# Create a data frame.
data <- read.csv("input.csv")

retval <- subset( data, dept == "IT")
print(retval)

當我們執(zhí)行上述代碼時,會產生以下結果 -

       id   name      salary   start_date   dept
1      1    Rick      623.3    2012-01-01   IT
3      3    Michelle  611.0    2014-11-15   IT
6      6    Nina      578.0    2013-05-21   IT

獲取IT部門薪水在600以上的人員

setwd("F:/worksp/R")
# Create a data frame.
data <- read.csv("input.csv")

info <- subset(data, salary > 600 & dept == "IT")
print(info)

當我們執(zhí)行上述代碼時,會產生以下結果 -

       id   name      salary   start_date   dept
1      1    Rick      623.3    2012-01-01   IT
3      3    Michelle  611.0    2014-11-15   IT

獲得在2014年或以后入職的人員

setwd("F:/worksp/R")
# Create a data frame.
data <- read.csv("input.csv")

retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01"))
print(retval)

當我們執(zhí)行上述代碼時,會產生以下結果 -

       id   name     salary   start_date    dept
3      3    Michelle 611.00   2014-11-15    IT
4      4    Ryan     729.00   2014-05-11    HR
5     NA    Gary     843.25   2015-03-27    Finance
8      8    Guru     722.50   2014-06-17    Finance

寫入CSV文件

R可以從現(xiàn)有數(shù)據(jù)幀中來創(chuàng)建csv文件。write.csv()函數(shù)用于創(chuàng)建csv文件。 該文件在工作目錄中創(chuàng)建。參考以下示例代碼 -

setwd("F:/worksp/R")
# Create a data frame.
data <- read.csv("input.csv")
retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01"))
# print(retval)
# Write filtered data into a new file.
write.csv(retval,"output.csv")
newdata <- read.csv("output.csv")
print(newdata)

當我們執(zhí)行上述代碼時,會產生以下結果 -

  X      id   name      salary   start_date    dept
1 3      3    Michelle  611.00   2014-11-15    IT
2 4      4    Ryan      729.00   2014-05-11    HR
3 5     NA    Gary      843.25   2015-03-27    Finance
4 8      8    Guru      722.50   2014-06-17    Finance

這里列X來自數(shù)據(jù)集更新器。在編寫文件時可以使用其他參數(shù)來刪除它。

setwd("F:/worksp/R")
# Create a data frame.
data <- read.csv("input.csv")
retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01"))

# Write filtered data into a new file.
write.csv(retval,"output.csv", row.names = FALSE)
newdata <- read.csv("output.csv")
print(newdata)

當我們執(zhí)行上述代碼時,會產生以下結果 -

      id    name      salary   start_date    dept
1      3    Michelle  611.00   2014-11-15    IT
2      4    Ryan      729.00   2014-05-11    HR
3     NA    Gary      843.25   2015-03-27    Finance
4      8    Guru      722.50   2014-06-17    Finance