楼主: zzp_1988
75464 9

[问答] R语言如何实现将一个数据框中的某些行提取,形成一个新的数据框 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0005
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
223 点
帖子
26
精华
0
在线时间
37 小时
注册时间
2014-1-11
最后登录
2019-4-2

楼主
zzp_1988 发表于 2015-2-10 20:04:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现有一个数据框X
A1 A2 A3 A4
2 3 6 2
4 4 5 3
5 2 4 7
6 3 4 4
2 7 6 1
如果我们需要提取第1,3,5行数据形成一个新的数据框Y
A1 A2 A3 A4
2 3 6 2
5 2 4 7
2 7 6 1
如果上面问题有好的答案,万分感激。

自己在编写时遇到如下问题(如能帮忙解决也特别感谢):
      在提取每一行时,数据都有属性A1,A2,A3,A4,比如:
X[1,]=
A1 A2 A3 A4
2 3 6 2
如何去除上面的属性从而只有下面的数值形成一个向量。
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 数据框 R语言 数据框处理

回帖推荐

358463121 发表于2楼  查看完整内容

Y=X[c(1,3,5),] v=as.vector(X[1,]) names(v)

沙发
358463121 发表于 2015-2-10 20:27:32
Y=X[c(1,3,5),]
v=as.vector(X[1,])
names(v)<-NULL
已有 1 人评分经验 收起 理由
李会超 + 20 热心帮助其他会员

总评分: 经验 + 20   查看全部评分

藤椅
zzp_1988 发表于 2015-2-10 20:46:37
358463121 发表于 2015-2-10 20:27
Y=X[c(1,3,5),]
v=as.vector(X[1,])
names(v)
谢谢你的答案,正是我需要的,我还想问一下,如果我要统计一个数据框每列的元素之和(元素都是数值型),并且输出所有列中最大的前个3列的列名,有没有什么好的函数或者办法,希望能得到您的帮助,谢谢

板凳
358463121 发表于 2015-2-10 20:55:20
zzp_1988 发表于 2015-2-10 20:46
谢谢你的答案,正是我需要的,我还想问一下,如果我要统计一个数据框每列的元素之和(元素都是数值型), ...
library(plyr)
cs=colSums(X)
cs
colname=names(sort(cs,decreasing=TRUE))
colname[1:3]

报纸
zzp_1988 发表于 2015-2-10 21:14:36
zzp_1988 发表于 2015-2-10 20:46
谢谢你的答案,正是我需要的,我还想问一下,如果我要统计一个数据框每列的元素之和(元素都是数值型), ...
太感谢您了,但是Y=X[c(1,3,5),]这种方法得到的数据框Y比X多了一列熟悉row.name,如何把这个属性在生成的时候就去掉呢,而不是用Y$row.name<-NULL,希望能得到您的帮助

地板
zzp_1988 发表于 2015-2-10 21:16:04
zzp_1988 发表于 2015-2-10 20:46
谢谢你的答案,正是我需要的,我还想问一下,如果我要统计一个数据框每列的元素之和(元素都是数值型), ...
太感谢您了,但是Y=X[c(1,3,5),]这种方法得到的数据框Y比X多了一列熟悉row.name,如何把这个属性在生成的时候就去掉呢,而不是用Y$row.name<-NULL,希望能得到您的帮助

7
358463121 发表于 2015-2-10 21:29:24
zzp_1988 发表于 2015-2-10 21:16
太感谢您了,但是Y=X[c(1,3,5),]这种方法得到的数据框Y比X多了一列熟悉row.name,如何把这个属性在生成的 ...
那我也不太清楚

8
zzp_1988 发表于 2015-2-12 20:41:07
358463121 发表于 2015-2-10 21:29
那我也不太清楚
您好,又要麻烦您了,我想问一下在一个list中,如何得到使其中三个属性同时满足一个属性值的新的list。
比如list:A:
             V1  V2  V3  V4  V5
              1   0     0    1    1
              0   1     1    0    1
              1   0     0    1    0
我们需要使属性V1=V4=1,如何得到
             V1  V2  V3  V4  V5
             1   0     0    1    1
             1   0     0    1    0
我使用A <- A[A[c(V1,V4)]==1,],得不到想要的list

如果使属性值不一样的情况如, V2=1, V4=0,得到
             V1  V2  V3  V4  V5
             0   1     1    0    1

9
358463121 发表于 2015-2-12 22:46:56
  1. A[A$V1==1&A$V4==1,]
复制代码

已有 1 人评分论坛币 收起 理由
李会超 + 5 热心帮助其他会员

总评分: 论坛币 + 5   查看全部评分

10
20115326 学生认证  发表于 2016-12-8 09:50:08
这个写的不错,很多人会遇到这个问题

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

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