楼主: rypan
53307 4

[问答] 请问如何取某个dataFrame最后几行的数据? [推广有奖]

  • 0关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
26 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
107 点
帖子
9
精华
0
在线时间
28 小时
注册时间
2006-6-23
最后登录
2016-4-16

楼主
rypan 发表于 2011-10-1 22:38:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在的想法是:用每个组成dataFrame的list,截取最后几行后,重新生成一个dataFrame。

有其他更好的办法吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Dataframe Frame Fram Data FRA 如何

沙发
qoiqpwqr 发表于 2011-10-2 00:15:51
假设你的data frame名字是dat,你想取最后10行的数据
newdat <- dat[(nrow(dat)-9):nrow(dat), ]

藤椅
shenbaiseshatan 在职认证  发表于 2011-10-2 07:20:03
是“每个组成dataFrame的list”还是“每个组成list的dataFrame”?
前者是什么我不太能理解,如果是后者的话,可使用
  1. a<-list(a1=sample(10),a2=sample(10),a3=sample(10))
  2. data.frame(lapply(a,tail))
复制代码
胜人者有力,自胜者强!

板凳
kiddbai 发表于 2011-10-2 21:59:40
按理说,list可以包括data.frame,好像不能反过来,所以你的意思没太明白。

或者你的意思很简单,就是有n个data.frame,想每个从最后取10行,然后将这n个10行组成新的data.frame,前提之一,data.frame的列数相同。当然,如果你想组成的是一个新的list,则不要求列数相同。

假如你有两个data.frame,分别为dat1和dat2,都取最后的10行,并组成新的data.frame名为dat3,代码如下:
  1. dat1.tail <- tail(dat1, n=10L)
  2. dat2.tail <- tail(dat2, n=10L)
  3. dat3 <- data.frame( rbind(dat1.tail, dat2,tail))
复制代码
当然也可以直接写成一行代码,不使用两个中介变量dat1.tail和dat2.tail。
另外,如果是想组成list,则直接用list()函数就行了:
  1. dat3 <- list(dat1.tail, dat2.tail)
复制代码


报纸
hugebear 发表于 2011-10-3 22:49:58
先library(Hmisc),里面的subset与upData函数可能会有用。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 23:24