1.数据类型
字符型character
整数型integer
浮点型dubble
逻辑型logistic
因子型factor
2.数据结构
零维
标量:储存一个元素
一维
向量:储存多个元素(元素的数据类型必须相同)
二维
数据框dataframe:(元素的数据类型可以不同)
列表list:
矩阵matrix:(元素的数据类型必须相同)
三维
数组array:
数据类型是砖块的形状,颜色,材质;数据结构是砖块的排列组合,盖的屋,搭的棚,是数据类型组织在一起的方式 ^1
3.玩转数据结构
数据的性质
代码语言:R复制max()
min()
sum()
length() #求向量中变量的个数
str_length() #求向量中各个字符串有多少个字符,且包括空格
mean()
median()
quantile()
sort()
rank() #返回向量x的秩,即x中数字的大小顺序
order() #返回一个向量升序排序后的数字在原数据中的位置
match() #在y中逐个查找x,并返回在y中匹配的位置,若无返回NA
cut() #将数值型数据分区间转换成因子型数据,即将数值型数据离散化
rownames() #输出表格中所有行的第一个值,即行名
colnames() #输出表格中所有列的第一个值,即列名
代码语言:R复制as.vector/data.frame/list/matrix/array(DATA)
is.vector/data.frame/list/matrix/array(DATA)
DATA <- list()
DATA <- c()
DATA <- data.frame()
DATA <- array()
DATA <- factor()
cor(DATA, method = “perarson”) method 参数="kendall" "spearman"
代码语言:R复制用for循环进行加减运算
for (i in DATA){ #范围内有小括号,lamda有大括号{}
data_total = data_total i
}
此时,会多出一个叫i的VALUE和data_total的DATA
另外,代码逻辑可分为:线性,循环,判断
4.读取与保存
读取DATA
代码语言:R复制read.csv/table/delim(DATA, file = 'DATA.csv/tsv')
write.csv/table/delim(DATA, file = 'DATA.csv/tsv')
load/save("DATA.Rdata")
怪谈
- read.table,read.delim会自动增加V1,V2……行名,用header = T去掉
- read.csv会自动在左上角加X、“..1”等奇怪的东西补全表格,会自动将“-”转化为“.”,此时用
row.names = 1,check.names = F
可解决 - read.csv不允许有重复的行名
- 如果有“缺角”的表格,大多情况下fill = T可解决,但有可能会发生串行,即党两个tab键连在一起的时候,会自动处理成1个tab,从而串行,此时可尝试用sep = ‘/t’来指定分隔符
作业
回答一个问题:save(a,file="test.RData")这句代码如果报错object a not found,是为什么,应该怎么解决?
1.内存没有加载a这个DATA对象,重新运行前面给a赋值的代码 a <-
^1 《R语言:从数据思维到实战》——朱雪凝