且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《机器学习与数据科学(基于R的统计学习方法)》——2.14 写数据

更新时间:2022-10-04 11:06:24

本节书摘来异步社区《机器学习与数据科学(基于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()等,都能实现类似的功能。