《R数据可视化手册》一1.3 加载分隔符式的文本文件

    xiaoxiao2024-05-08  114

    本节书摘来自异步社区《R数据可视化手册》一书中的第1章,第1.3节,作者 【美】Winston Chang,更多章节内容可以访问云栖社区“异步社区”公众号查看

    1.3 加载分隔符式的文本文件

    问题如何加载一个分隔符式的文本文件中的数据?

    方法加载逗号分隔组(CSV)数据的最常用方法是:

    data <-read.csv("datafile.csv")

    讨论由于数据文件有许多不同的格式,为了加载它们,提供了很多对应的选项。如果一个数据集首行没有列名:

    data <-read.csv("datafile.csv", header=FALSE)

    得到的数据框的列名将是V1、V2等,你可能想要重命名列:

    #手动为列名赋值 names(data) <-c("Column1","Column2","Column3")

    还可以用sep参数来设置分隔符号。如果是空格分隔,使用sep=" ";如果是制表符分隔,使用t。

    data <-read.csv("datafile.csv", sep="\t")

    默认情况下,数据集中的字符串(string)会被视为因子(factor)处理。假设下面是你的数据文件,然后,你用read.csv()来读取:

    "First","Last","Sex","Number" "Currer","Bell","F",2 "Dr.","Seuss","M",49 "","Student",NA,21

    得到的数据框将会把First、Last等存储为因子,尽管此时将它们视为字符串(或使用R中的术语,字符:character)更为合理。为了区别这一点,可以设置stringsAsFactors=FALSE。如果有些列应该被处理为因子格式,你可以再逐个转换:

    data <-read.csv("datafile.csv", stringsAsFactors=FALSE) #转换为因子 data$Sex <-factor(data$Sex) str(data) 'data.frame': 3 obs. of 4 variables: $ First : chr "Currer" "Dr." "" $ Last : chr "Bell" "Seuss" "Student" $ Sex : Factor w/ 2 levels "F","M": 1 2 NA $ Number: int 2 49 21

    或者,你可以在加载的时候不做设置(字符串自动转换为因子),加载之后再对需要的列进行因子到字符的转换。

    另见read.csv()是对read.table()一个便捷的封装函数。如果需要更多的输入控制,参见?read.table。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)