R中的r语言 列表操作和数据框有什么区别

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
R-4_因子、列表、数据框及输入输出
下载积分:2000
内容提示:R-4_因子、列表、数据框及输入输出
文档格式:PPT|
浏览次数:40|
上传日期: 23:30:14|
文档星级:
该用户还上传了这些文档
R-4_因子、列表、数据框及输入输出
官方公共微信如何用r中的data.frame建立列联表数据框_百度知道
如何用r中的data.frame建立列联表数据框
).height();#example&#39.dataTable(
&$(document)添加一个sScrollY属性var height=$(window).ready(function() {
$('sScrollY&: height
其他类似问题
为您推荐:
列联表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁R或ggplot2画图:如何将一个数据框中的不同列的时间序列表现在一个图上用于对比?
画图上遇到了一个问题:我有一个数据框,里面有6组数据(包括一组日期);1)想画出一列用于比较这5组数据,请问有ggplot2是否已经实现了这个功能呢?2)下图是我用自己用函数把5个figure放在一起,但是由于左边刻度大小等问题使得5个图的大小不一致?请问有什么解决办法,使它们(图的内容)大小看起来一致吗?
按投票排序
用reshape2将短格式的数据变成长格式,数据结构变为日期一列(date),值一列(value),分组一列(group)ggplot(df, aes(x = date, y = value, color = group)) + geom_line()
发现了一个比较好的画时序数据的包,timeSeries Library(timeSeries) Library(xts)stocks &- xts(df[,-1], order.by=as.Date(df[,1], "%m/%d/%Y"))stocks &- timeSeries(stocks)par(mfrow=c(1, 1))plot(stocks, plot.type="m", at="chic")画出来的图还不错,满足我的需要。但是这不是基于ggplot2的,还是请ggplot2的专业人士解答一下哈~
我觉得首先是得把数据处理一下,假设时间是第一列for (i in 1:5)
assign(paste("a",i,sep=""), cbind(data[,1],date[,i+1],c(i:i)))
data1&-rbind(a1,a2,a3,a4,a5)
colnames(data1)&-c("time","x","figure")
plot&-ggplot(data1,aes(time,x))+geom_line()+facet_grid(figure~., ncol = 3)
应该可以吧?试试,哈哈哈!
把几个图的y轴设置同样的长度(0,0.5),
画在一个图内的话用ggplot2的映射可以实现,在aes参数内进行设置,或者用facet_grid做分面。详情可以参考wickham那本书。
已有帐号?
无法登录?
社交帐号登录列表(list)
)列表的构造
列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型。元素本身允许时其他复杂数据类型。比如,列表的一个元素也允许是列表,例:
&Lst&-list(name=&Fred&,wife=&Mary&,no.children=3,child.ages=c(4,7,9))
[1] &Fred&
[1] &Mary&
$no.children
$child.ages
列表元素总可以用“列表名[[下标]]”的格式来引用,例如:
& Lst[[2]]
[1] &Mary&
& Lst[[4]][2]
但是,列表不同于向量,我们每次只能引用一个元素,如Lst[[1:2]]的用法是不允许的。
注意:“列表名[下标]”或“列表名[下标范围]”的用法也是合法的,但其意义与两重括号的记法完全不同,两重括号取出列表的一个元素,结果与该元素类型相同,而一重括号的结果是列表的一个子列表,结果类型仍为列表。
定义列表时如果指定了元素的名字(如Lst中的name,wife,no.children,child.ages),则引用列表元素还可以用它的名字作下标,格式为“列表名[[“元素名”]],如:
& Lst[[&name&]]
[1] &Fred&
& Lst[[&child.ages&]]
另一种格式是“列表名$元素名”,如:
& Lst$name
[1] &Fred&
& Lst$child.ages
)列表的修改
列表的元素可以修改,只要把元素引用赋值即可,并且还可以增加项,删除列表其中某一项,将该项赋空值,如:
& Lst$name&-&John&
& Lst$income&-c()
& Lst$income&-NULL
几个列表可以用连接函数c()连接起来,结果仍为一个列表,其元素为各自变量的列表元素。
)返回值为列表的函数
在R中,有许多函数的返回值是列表,如求特征值特征向量的函数等。
数据框(data.frame)
数据框是R的一种数据结构,它通常是矩阵形式的数据,但矩阵各列可以是不同类型的。数据框每列是一个变量,每行是一个观测。
但是数据框有更一般的定义。它是一种特殊的列表对象,有一个值为”data.frame”的class属性,各列表成员必须是向量(数值型、字符型、逻辑型)、因子、数据型矩、列表、其他数据框,向量、因子成员为数据框提供一个变量,如果向量非数值型会被强制转换为因子,而矩阵、列表、数据框这样的成员为新数据框提供了和其列数、成员数、变量数相同个数的变量。作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数)。
尽管如此,一般还是可以把数据框看作是一种推广了的矩阵,它可以用矩阵形式显示,可以用对矩阵的下标引用方法来引用其元素或子集。
)数据框的生成
数据框可以用data.frame()函数生成,其用法与list()函数相同,各自变量变成数据框的成分,自变量可以命名,称为变量名。如:
&df&-data.frame(
Name=c(&Alice&,&Becka&,&James&,&Jeffrey&,&John&),
Sex=c(&F&,&F&,&M&,&M&,&M&),
Age=c(13,13,12,13,12),
Height=c(56.5,65.3,57.3,62.5,59.0),
Weight=c(84.0,98.0,83.0,84.0,99.5)
&&&& NameSex Age Height Weight
1&&Alice&& F& 13&&56.5&& 84.0
2&&Becka&& F& 13&&65.3&& 98.0
3&&James&& M& 12&&57.3&& 83.0
4 Jeffrey&&M& 13&& 62.5&&84.0
5&&&John&& M& 12&& 59.0&& 99.5
如果一个列表的各个成分满足数据框成分的要求,它可以用as.data.frame()函数强制转化为数据框,如:
Lst&-list(
Name=c(&Alice&,&Becka&,&James&,&Jeffrey&,&John&),
Sex=c(&F&,&F&,&M&,&M&,&M&),
Age=c(13,13,12,13,12),
Height=c(56.5,65.3,57.3,62.5,59.0),
Weight=c(84.0,98.0,83.0,84.0,99.5)
[1] &Alice&&& &Becka&&& &James&&& &Jeffrey& &John&&&
[1] &F& &F&&M& &M& &M&
[1] 13 13 12 13 12
[1] 56.5 65.3 57.3 62.5 59.0
[1] 84.0 98.0 83.0 84.0 99.5
则as.data.frame(Lst)是与df相同的数据框。
一个矩阵可以用data.frame()转换为一个数据框,如果它原来有列名则其列名被作为数据框的变量名,否则系统自动为矩阵的各列起一个变量名。如:
& A&-matrix(1:6,c(2,3))
&&&&[,1] [,2] [,3]
[1,]&&&1&&& 3&&& 5
[2,]&&&2&&& 4&&& 6
& data.frame(A)
)数据框的引用
引用数据框元素的方法与引用与矩阵元素的方法相同,可以使用下标或下标向量,可以用名字或名字向量。如:
& df[1:2,3:5]
& AgeHeight Weight
1&13&& 56.5&&&& 84
2&13&& 65.3&&&& 98
数据框的各变量也可以用按列表引用,如:
& df[[&Height&]]
[1] 56.5 65.3 57.3 62.5 59.0
& df$Weight
[1] 84.0 98.0 83.0 84.0 99.5
数据框的变量名由属性names定义,此属性一定是非空的。数据框的各行也可以定义名字,可以用rownames属性定义。如:
& names(df)
[1] &Name&&& &Sex&&&& &Age&&&& &Height& &Weight&
&rownames(df)&-c(&A&,&B&,&C&,&D&,&E&)
&&&& NameSex Age Height Weight
A&&Alice&& F& 13&&56.5&& 84.0
B&&Becka&& F& 13&&65.3&& 98.0
C&&James&& M& 12&&57.3&& 83.0
D Jeffrey&&M& 13&& 62.5&&84.0
E&&&John&& M& 12&&59.0&& 99.5
)attach()函数
数据框的主要用途是保存统计建模的数据,R的统计建模功能都需要以数据框为输入数据,我们也可以把数据框当成一种矩阵来处理。在使用数据框的变量时可以用“数据框名$变量名”的方法。但是,这样使用比较麻烦,R提供了attach()函数可以把数据框中的变量“连接”到内存中,这样便于数据框数据的调用。如:
& attach(df)
& r&-Height/Weight
[1] 0....9648
后一句语言将在当前工作空间建立一个新变量r,它不会自动进入数据框df中,要把新变量赋值到数据框中,可以用
&df$r&-Height/Weight
为了取消连接,只要用detach()函数(无参数即可)。
列表与数据框的编辑
如果需要对列表或数据框中的数据进行编辑,也可以调用函数edit()进行编辑、修改,其命名格式为
& xnew&-edit(xold)
其中xold是原列表或数据框图,xnew是修改后的列表或数据框。注意:原数据xold并没有改动,改动的数据存在在xnew中。
函数edit()也可以对向量、数组或矩阵类型的数据进行修改或编辑。
参考:《统计建模与R软件》 薛毅 陈立萍 编著 清华大学出版社
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1310次
排名:千里之外苹果/安卓/wp
积分 24, 距离下一级还需 21 积分
道具: 彩虹炫, 雷达卡, 热点灯, 雷鸣之声, 涂鸦板, 金钱卡下一级可获得
道具: 显身卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 雷鸣之声, 彩虹炫, 雷达卡, 涂鸦板, 热点灯
如 df1 &- data.frame(di=c(1,2,3,5,7,9),name=c(&li si&,&zhangsan&,&xiaohong&,&wang liu&,&chen qi&,&zhao si&),value1=c(20,21,22,23,24,25),value2=c(30:31,32,33,34,35))
& & df2 &- data.frame(di=c(1,2,3,4,10),name=c(&li si&,&zhangsan&,&xiaohong&,&yangjiu&, &anyii&),value1=c(20,21,22,34,36),value2=c(30,31,32,68,69))
求两个数据框合并,
结果如 df3 = (di=c(1,2,3,4,5,7,9,10),name=c(&li si&,&zhangsan&,&xiaohong&,&yangjiu&, &wang liu&,&chen qi&,&zhao si&,&anyii&),value1=c(40,42,44,23,34,24,25,36),value2=c(30,31,32,68,33,34,35,69))
紧急求救,如何得出如df3式的数据框
有现成的可用函数,或者代码皆可以?!!!!!!
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
y78h11b09 发表于
如 df1merge函数
应经解决,谢谢回答,回复!
初级热心勋章
初级热心勋章
中级热心勋章
中级热心勋章
初级信用勋章
初级信用勋章
初级学术勋章
初级学术勋章
中级信用勋章
中级信用勋章
论坛好贴推荐
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师}

我要回帖

更多关于 oppor831s 精简列表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信