R:关于数据框的函数
来源:互联网 发布:硬盘坏掉数据怎么恢复 编辑:程序博客网 时间:2024/06/11 05:43
►关于函数rbind()和cbind()
矩阵函数rbind()和cbind()也同样可以用于数据框,前提是两个数据框有相同的行数或者列数。例如,可以用cbind()向数据框中添加新的列,要求新的列与原有的列长度相同。用rbind()添加新行的时候,添加的行通常是数据框或者列表的形式。
> kids <- c( "Jack", "Jill" )
> ages <- c( 12, 10 )
> d <- data.frame( kids, ages, stringsAsFactors=FALSE )
> d
kids ages1
Jack 122
Jill 10
> rbind( d, list( "Laura", 19 ) )
kids ages1
Jack 122
Jill 103
Laura 19
►合并数据框
在关系型数据库的世界里,最重要的一个操作数合并,两张表根据某个变量的值组合到一起。相似的,R语言里两个数据框也可以用merge()函数合并在一起。
最简单的形式如下:merge( x,y )
假设数据框x和y有一个或多个同名的列,上面这条语句可以合并这两个数据框。例子如下:
> kids <- c( "Jack", "Jill", "john", "Lily" )
> states <- c( "CA", "MA", "MA", "HI" )
> d1 <- data.frame( kids, states, stringsAsFactors=FALSE )
> ages <- c( 12, 10, 18, 24 )
> kids <- c( "Jack", "Jillian", "john", "Lucy" )
> d2 <- data.frame( ages, kids, stringsAsFactors=FALSE )
> merge( d1, d2 )
kids states ages1
Jack CA 122
john MA 18
这两个数据框都有变量kids。R在两个数据框里查找kids变量值相同的行,再用查找到的行和两个数据框里所有列,创建新的数据框。
函数merge()有两个参数by.x和by.y,用于标示出两个数据框里含有相同信息但名称不同的两个变量。例子如下:
> kids <- c( "Jack", "Jill", "john", "Lily" )
> states <- c( "CA", "MA", "MA", "HI" )
> d1 <- data.frame( kids, states, stringsAsFactors=FALSE )
> ages <- c( 12, 10, 24 )
> pals <- c( "Jack", "Jillian", "Jill" )
> d3 <- data.frame( ages, pals, stringsAsFactors=FALSE )
> merge( d1, d3, by.x="kids", by.y="pals" )
kids states ages1
Jack CA 122
Jill MA 24
注:虽然在两个数据框里,两个变量一个名为kids,一个名为pals,但两个变量包含相同的信息,所以这样合并是有意义的。
重复匹配会在结果中全部出现,有时会得到错误的结果。
►在数据框上应用lapply()函数和sapply()函数
数据框是列表的特例,数据框的列构成了列表的组件。在数据框上应用lapply()函数,指定函数是f()。f()函数会作用域数据框的每一列,然后将返回值置于一个列表中。
> kids <- c( "Jack", "Jill", "john" )
> states <- c( "CA", "MA", "HI" )
> d <- data.frame( kids, states, stringsAsFactors=FALSE )
> lapply( d, sort )
$kids
[1] "Jack" "Jill" "john"
$states
[1] "CA" "HI" "MA"
注:结果是由两个向量构成的列表,这两个向量是排序后的kids和states。结果只是列表,而不是数据框,可以把它强制转化为数据框。
> as.data.frame( lapply( d, sort ) )
kids states1
Jack CA2
Jill HI3
john MA
注:该例子没有实际意义,已丢失了名字和住址的对应关系。
- R:关于数据框的函数
- 关于R语言的数据导入
- R中关于name的函数
- R数据源于数据处理常用的函数
- R语言数据统计分析的基本函数
- R中常用的数据分析函数
- R:处理数据对象的部分函数
- 关于R语言基于贝叶斯算法的数据分析
- 数据挖掘的R包和函数的集合
- 数据挖掘的R包和函数的集合
- 关于R中data()函数
- 关于R语言的绘图函数[转]
- Java调用R函数,返回值是数据框时的解析方法
- #R#数据挖掘有关或者有帮助的R包和函数的集合
- R语言数据框-dataframe的使用
- R语言-数据框dataframe的使用
- R语言常用的数据框操作
- R中数据框的创建
- Dictionary<string, string>是一个泛型使用说明
- Eclipse/MyEclipse常用配置
- java 报表
- Github资源
- 动漫推荐之夏雪密会
- R:关于数据框的函数
- Linux知识:为什么要用字符~来表示home目录
- 迅雷下载原理的源代码(linux c)
- 使用HttpDownLoadHelper下载文件
- 2014年 10-27 小记
- ssh无密码登陆远程LINUX主机
- 将Eclipse项目自动部署到Tomcat的webapps目录下
- 08 TableView 表格视图
- VS2012及以上版本中,禁用_s版本函数的方法