R语言学习笔记<数据类型>

来源:互联网 发布:淘宝网快递面单打印机 编辑:程序博客网 时间:2024/06/13 00:29

数据类型:

①向量。向量是R中最重要的类型。有c(),seq()等方法可以构造。

②矩阵(数组)

③因子(factor)

④数据框(frame)

⑤函数


因子:有序因子和无序因子

因子是一种向量对象,它给自己的组件指定了一个离散的分类(分组),它的组件由其他等长的向量组成。

函数factor()创建一个因子 : statef <- factor(state)

levels(statef)可以观察因子中有多少不同的水平。

tapply(state,statef,function):对第一个参数的组件中所包含的每个组应用一个函数function,函数的结果是一个长度与因子水平数相等的结果。

table():求因子出现的频数。


数据框:read.csv()返回的是data.frame类型,查看类型用class()函数。

data.frame选子集操作(which):chafer.data[which(chafer.data["xxx"]==3),]选取chafer.data中xxx的值为3的所有的行。返回的类型也是data.frame

如何自定义一个data.frame?

一开始指定列名和数据:data.frame(年龄=c(22,23,20),身高=c(170,159,168))

修改列名:colnames(xxx) <- c(“年龄(岁)","身高(cm)")



read.csv和read.table读取外部数据

read.table(file, header = FALSE, sep = "", quote = "\"‘", dec = ".", skip = 0, strip.white = FALSE, blank.lines.skip = TRUE, comment.char = "#")

①file表示要读取的文件。file可以是绝对路径或者相对路径,但是一定要注意,因为在R语言中\是转义符,所以路径分隔符必须写成\\或者写出/,比如“C:\\myfile\\myfile.csv”或“C:/data.csv”.
②可以使用剪切板的内容,可以用于读取excel格式的文件,将要读取的数据进行复制,然后在R中输入data<-read.table("clipboard",T)即可.
③使用file.choose(),弹出对话框,让你选择文件位置。推荐使用此种方法,免去了记忆和书写文件路径的麻烦,特别是能够避免因数据文件位置移动带来的错误!
例如:read.table(file.choose(),...).

write.csv和write.table写入数据到外部

Alternatively, you can use choose.files() to get a little more of the typical Windows "Save as" behavior:

  1. Allow the user to define a filename which doesn't exist yet
  2. Add a caption to the dialogue box
  3. Default to .csv file type without the user having to type it

     write.csv(tweets, file=choose.files(caption="Save As...", filters = c("Comma Delimited Files (.csv)","*.csv")),row.names=FALSE)     #row.names表示是否需要行名,默认行名是1,2,3,4...  修改行名使用row.names(tweets) <- c("xx","yy",...)
这种方法允许让用户自定义一个不存在的文件名,并给一个提示框,且默认是csv文件格式保存。强烈推荐该方法。对于xlsx文件,可以先另存为.csv文件,然后用read.csv()打开。


要修改某一列的类型,比如要修改为numeric,则需要如下方式

subcollection$证券余额 <- as.numeric(as.vector(subcollection$证券余额))

而不是:

subcollection$证券余额 <- as.numeric(subcollection$证券余额)



另外两个技巧:

①不显示warning的方法:options(warn =-1),默认warn =0设置为-1就不会显示了。

②调用外部R并执行: source("D:\\Chafer\\test.R")


0 0
原创粉丝点击