在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在 R 语言中,我们可以从存储在 R 语言环境外的文件中读取数据。 我们还可以将数据写入将被操作系统存储和访问的文件。 R 语言可以读取和写入各种文件格式,如 在本章中,我们将学习从 获取和设置工作目录您可以使用 # Get and print current working directory. print(getwd()) # Set current working directory. setwd("/web/com") # Get and print current working directory. print(getwd()) 当我们执行上面的代码,它产生以下结果 - [1] "/web/com/1441086124_2016" [1] "/web/com" 此结果取决于您的操作系统和您当前工作的目录。 输入为CSV文件
csv 文件是一个文本文件,其中列中的值由逗号分隔。 让我们考虑名为 您可以通过复制和粘贴此数据使用 Windows 记事本创建此文件。 使用记事本中的保存为所有文件
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文件以下是 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文件默认情况下, data <- read.csv("input.csv") print(is.data.frame(data)) print(ncol(data)) print(nrow(data)) 当我们执行上面的代码,它产生以下结果 - [1] TRUE [1] 5 [1] 8 一旦我们读取数据帧中的数据,我们可以应用所有适用于数据帧的函数,如下一节所述。 获得最高工资# Create a data frame. data <- read.csv("input.csv") # Get the max salary from data frame. sal <- max(data$salary) print(sal) 当我们执行上面的代码,它产生以下结果 - [1] 843.25 获取具有最高工资的人的详细信息我们可以获取满足特定过滤条件的行,类似于 # 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) 当我们执行上面的代码,它产生以下结果 - 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) 当我们执行上面的代码,它产生以下结果 - 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 获得工资大于600的 IT 部门的人员# Create a data frame. data <- read.csv("input.csv") info <- subset(data, salary > 600 & dept == "IT") print(info) 当我们执行上面的代码,它产生以下结果 - 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年或之后加入的人# Create a data frame. data <- read.csv("input.csv") retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01")) print(retval) 当我们执行上面的代码,它产生以下结果 - 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 语言可以创建 # 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") newdata <- read.csv("output.csv") print(newdata) 当我们执行上面的代码,它产生以下结果 - 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 来自数据集 # 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) 当我们执行上面的代码,它产生以下结果 - 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 |
请发表评论