1.数据框简介
data.frame(..., row.names = NULL, ,stringsAsFactors = default.stringsAsFactors())
Argument
- row.names→标签命名
- stringsAsFactors = default.stringsAsFactors()→默认为TRUE,控制字符是否转换成因子类型
Example
建立名为myFrame的数据框
2.设置数据框的行名和列名
- ①rownames() <- c(" "," ")→设置行名
- ②colnames() <- c(" "," ")→设置列名
Example
设置列名
设置列名
一般建议用rownames&colnames设置行列名,使你的代码更清楚简洁
3.数据框提取子集
方法1
- ①正的下标 x[ , (1:2)]
Example
提取myFrame的一至二列 - ②负的下标,删除第二行 x[-2, ]
- ③逻辑下标 x[ ,c(T,F,T)]
- ④名字下标 x[rownames,colnames]
- ⑤指定列名 data.frame$colnames
Example
指定列名
方法2
subset(x,subset,select,drop = FALSE,...)
Argument - x→data
- subset→要保留的元素或行的逻辑表达式
- select→指定数据框的列
- drop→是否除去结构;若只取一行,如果drop为F就是矩阵;为T就是向量
Example
数据框myFrame
提取age小于等于30的name列
4.※ 数据框合并
Usage
merge(x, y, by = intersect(names(x), names(y)),by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,incomparables = NULL, ...)
根据两个data.frame的相同列或指定列将两个data.frame进行融合;
Argument
- all→指定未共有的是否保留
- all.x→x是否全部输出
- all.y→y是否全部输出
- sort→by指定的列是否要排序,默认为T
- incomparables→指定by哪些单元不进行合并
- suffixes→指定除by外相同列名的后缀,默认为x,y区分
Example
敬请期待
其它数据框相关的函数
函数 | 功能 |
---|---|
transform | 针对data.frame,可以对已有列进行改变,也可以添加新列 |
within | 与transform类似 |
with | 与within有所区别,with在指定环境下进行操作存在局限性,赋值仅在此函数的括号内生效用<<-替代<-可创建括号外存在的对象,within同样在指定环境下进行操作,但是得到的结果依然在该环境中,是对该环境中已有元素进行操作或者添加新的元素 |
attach | 可将数据框添加到R的搜索路径中。R在遇到一个变量名以后,将检查搜索路径中的数据框,以定位到这个变量 |
detach | 解除attach |