本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第1章,第1.14节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.14 写数据
在一个机器学习项目中工作时,虽然数据科学家做的通常都是将外部文件导入R中,但有时在R环境下把数据写到外部文件中也是很有必要的。好在,我们在本章中见过的很多用于数据连接的R包都提供了写文件的功能。例如,write.table()函数能写一个CSV文件。在下面的例子中,我们将用R移除数据框的第一列(变量POST_ID),并写出一个不包含这个变量的新版CSV文件。然后,仅仅为了证明它真的有效,我们将新的CSV文件读回R中,然后使用head()来展示它的前几行。
> tempDF <- SFParkingMeters[,-1] # Remove POST_ID variable
> write.table(tempDF, file="./data/newSFParkingMeters.csv", sep=",")
> newSFParkingMeters <- read.table("./data/newSFParkingMeters.csv", sep=",")
> head(newSFParkingMeters)
MS_ID MS_SPACEID CAP_COLOR METER_TYPE SMART_METE ACTIVESENS JURISDICTI ON_OFF_STR
1 - 0 Grey SS Y Y SFMTA ON
2 - 0 Green SS Y Y SFMTA ON
3 - 0 Yellow SS Y Y SFMTA ON
4 - 0 Grey SS N N SFMTA ON
5 - 0 Grey SS N N SFMTA ON
6 - 0 Grey SS Y Y SFMTA ON
OSP_ID STREET_NUM STREETNAME STREET_SEG RATEAREA SFPARKAREA
1 0 2016 CHESTNUT ST 3977000 Area 5 Marina
2 0 2103 CHESTNUT ST 3979000 Area 5 Marina
3 0 2116 CHESTNUT ST 3979000 Area 5 Marina
4 0 525 COLUMBUS AVE 4295000 Area 3
5 0 527 COLUMBUS AVE 4295000 Area 3
6 0 412 HAYES ST 6816000 Area 5 Civic Center
LOCATION
1 (37.800798, -122.43687)
2 (37.800522, -122.438067)
3 (37.800589, -122.438525)
4 (37.800053, -122.409985)
5 (37.800088, -122.410035)
6 (37.776878, -122.423512)
同样地,xlsx包的write.xlsx()函数、rjson包的toJSON()等,都能实现类似的功能。