R语言 使用CSV文件

R语言 使用CSV文件

CSV文件基本上是文本文件,其中每一行的值都由分隔符分隔,如逗号或制表符。在本文中,我们将使用以下CSV文件样本:

sample.csv

id, name, department, salary, projects
1,   A,     IT,        60754,   4
2,   B,     Tech,      59640,   2
3,   C,     Marketing, 69040,   8
4,   D,     Marketing, 65043,   5
5,   E,     Tech,      59943,   2
6,   F,     IT,        65000,   5
7,   G,     HR,        69000,   7
R

读取CSV文件

CSV文件的内容可以在R中使用read.csv(…)函数作为数据帧来读取。要读取的CSV文件应该存在于当前的工作目录中,或者应该使用R中的setwd(… ) 命令对目录进行相应的设置。

例子

csv_data <- read.csv(file = 'sample.csv')
print(csv_data)
  
# print number of columns
print (ncol(csv_data)) 
  
# print number of rows
print(nrow(csv_data))  
R

输出

       id,   name,    department,    salary,      projects
 1      1      A         HR          60754         14
 2      2      B        Tech         59640         3
 3      3      C       Marketing     69040         8
 4      4      D         HR          65043         5
 5      5      E        Tech         59943         2  
 6      6      F         IT          65000         5
 7      7      G         HR          69000         7
 [1] 4
 [1] 7
R

头部在函数中默认设置为TRUE值。头部不包括在行数中,因此这个CSV文件有7行和4列。

用CSV文件进行查询

可以对CSV内容进行SQL查询,并且可以使用R中的subset(csv_data,)函数检索相应的结果。结果以数据框的形式存储在R中。

例子

csv_data <- read.csv(file ='sample.csv')
min_pro <- min(csv_data$projects)
print (min_pro)
R

输出

2
R

聚合器函数(min, max, count等)可以应用于CSV数据。这里 min() 函数使用$符号应用于projects列。返回最小的项目数,即2。

csv_data <- read.csv(file ='sample.csv')
new_csv <- subset(csv_data, department == "HR" & projects <10)
print (new_csv)
R

输出

      id,   name,    department,    salary,      projects
4      4      D         HR          65043         5
7      7      G         HR          69000         7
R

创建的数据子集被存储为一个数据框,满足作为函数参数的指定条件。雇员D和G是人力资源部门,项目数量<10。行号被保留在结果数据框中。

写入CSV文件

数据框的内容可以被写入CSV文件中。CSV文件存储在当前工作目录下,其名称由R的函数write.csv(data frame, output CSV name)指定。

例子

csv_data <- read.csv(file ='sample.csv')
new_csv <- subset(csv_data, department == "HR" & projects <10)
write.csv(new_csv, "new_sample.csv")
new_data <-read.csv(file ='new_sample.csv')
print(new_data)
R

输出

      X    id,   name,    department,    salary,      projects
1     4      4      D         HR          65043         5
2     7      7      G         HR          69000         7
R

X列包含原始CSV文件的行号。为了删除它,我们可以在write.csv()函数中指定一个额外的参数,将行名设置为FALSE。

csv_data <- read.csv(file ='sample.csv')
new_csv <- subset(csv_data, department == "HR" & projects <10)
write.csv(new_csv, "new_sample.csv", row.names = FALSE)
new_data <-read.csv(file ='new_sample.csv')
print(new_data)
R

输出

      id,   name,    department,    salary,      projects
1     4      D         HR          65043         5
2     7      G         HR          69000         7
R

原有的行号将从新的CSV中删除。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册