学习小组Day 5笔记—小金

R的数据结构里最需要熟悉的是向量数据框

数据结构.png

1. 向量

向量由元素组成,元素可以是数字或者字符串(chr)

1.1 标量和向量

标量:一个元素组成的变量,如数字1,字符串“haha”(必须加引号)
向量:多个元素组成的变量 ,如c(1,2,3), c("haha","hihi")


如果对一个变量重复赋值,先一次会被后一次覆盖,以最后一次赋值为准

1.2 向量中提取元素

1.2.1 根据元素位置

z[4] #z的第四个元素
z[-4] #除了第4个元素外剩余的元素
z[3:6] #第3到6个元素
z[-(3:6)] #除了第3-6个元素外的
z[c(1,5,7)] #第1个和第5个、第7个元素
根据元素位置

1.2.2 根据值

z[z==10]#等于10的元素
z[z>5] #大于5的元素
z[z %in% c(1,2,5)]#存在于向量c(1,2,5)中的元素
根据值

2 数据框

2.1 读取本地数据

read.table()函数是R最基本的函数之一,主要用来读取矩阵表格数据

read.table(file, header = FALSE, sep = "", quote = "\"'",
           dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
           row.names, col.names, as.is = !stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,
           skip = 0, check.names = TRUE, fill = !blank.lines.skip,
           strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",
           allowEscapes = FALSE, flush = FALSE,
           stringsAsFactors = default.stringsAsFactors(),
           fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
read.csv(file, header = TRUE, sep = ",", quote = "\"",
         dec = ".", fill = TRUE, comment.char = "", ...)

read.csv2(file, header = TRUE, sep = ";", quote = "\"",
          dec = ",", fill = TRUE, comment.char = "", ...)

read.delim(file, header = TRUE, sep = "\t", quote = "\"",
           dec = ".", fill = TRUE, comment.char = "", ...)

read.delim2(file, header = TRUE, sep = "\t", quote = "\"",
            dec = ",", fill = TRUE, comment.char = "", ...)

各参数的说明见:R语言中read.table()函数用法详解 - 翔宇亭IT乐园

2.2. 设置行名和列名

colnames() #查看列名
rownames() #查看行名

2.3 数据框导出

write.table(X,file = "haha.txt",sep = ",",quote=F)
#分隔符改为逗号,字符串不加双引号(默认格式带由双引号) 

2.4 变量的保存和重新加载

没有处理完的数据保存为RData格式的,下次即可重新加载

save.image(file="hahaha.RData") #保存当前所有变量
save(X,file="test.RData") #保存其中一个变量
load("test.RData") #再次使用时加载

2.5 提取元素

-X[x,y]#第x行第y列
 X[x,]#第x行
-X[,y]#第y列
 X[y] #也是第y列
-X[a:b]#第a列到第b列
-X[c(a,b)]#第a列和第b列
 X$列名
#提取列(不用写括号,支持Tab自动补全,不过只能提取一列)
提取元素

2.6 直接使用数据框中的变量

iris是R语言自带的一个数据框。iris以鸢尾花的特征作为数据来源,常用在分类操作中。该数据集由3种不同类型的鸢尾花的50个样本数据构成。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。 该数据集包含了5个属性:
Sepal.Length(花萼长度;Sepal.Width(花萼宽度);Petal.Length(花瓣长度);Petal.Width(花瓣宽度),单位都是cm;
种类:Setosa(山鸢尾)、Versicolour(杂色鸢尾),以及Virginica(维吉尼亚鸢尾)。

点击左上角新建一个脚本窗口(Shift+ctrl+N),输入代码保存后在工作目录会得到一个后缀为R的脚本文件

#提取iris数据框某两列作散点图
plot(iris$Sepal.Width,iris$Petal.Width)

问题:save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决?
回答:没有X这个变量或者没有分大小写,再或者没有给它赋值。仔细检查大小写并确认赋值正确应该就可以了吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容