在将文件导入R时,你可以使用colClasses参数来指定每一列的类别:
df <- read.csv('my_data.csv',
colClasses=c('character', 'numeric', 'numeric'))
使用colClasses的好处是,你可以更快地导入数据,特别是在文件非常大的时候。
下面的例子说明了如何在实践中使用这个参数:
例子:导入文件时使用colClasses
假设我有一个名为my_data.csv的CSV文件,其中有三列,我想将其导入R:

我可以使用下面的语法来实现:
#import CSV file
df <- read.csv('my_data.csv',
colClasses=c('character', 'numeric', 'numeric'))
#view class of each column in data frame
str(df)
'data.frame': 14 obs. of 3 variables:
$ team : chr "Mavs" "Spurs" "Hornets" "Rockets" ...
$ points : num 91 99 104 103 105 88 89 93 96 99 ...
$ rebounds: num 33 23 26 25 25 26 29 30 34 23 ...
请注意,colClasses参数中的值的数量应该与数据框架中的列的数量相匹配。
例如,如果你只给colClasses参数提供一个值,那么数据框中的每一列都将有相同的类:
#import CSV file
df <- read.csv('my_data.csv',
colClasses=c('character'))
#view class of each column in data frame
str(df)
'data.frame': 14 obs. of 3 variables:
$ team : chr "Mavs" "Spurs" "Hornets" "Rockets" ...
$ points : chr "91" "99" "104" "103" ...
$ rebounds: chr "33" "23" "26" "25" ...
请注意,由于我们只给colClasses参数提供了一个值,所以结果数据框中的每一列都有一个 "字符 "类。
请注意,你可以在colClasses参数中指定以下潜在的类:
- 字符:"嘿","那里","世界"
- 复数:as.complex(-1), 4i
- 数字:as.integer(20), 3L
- 整数:4, 12, 158
- 逻辑:TRUE, FALSE
其他资源
下面的教程解释了如何在R中执行其他常见的操作: