按列分组数据 [英] Subset data.frame by column

查看:122
本文介绍了按列分组数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个data.frame:

I have this data.frame:

a <- c(rep("1", 3), rep("2", 3), rep("3",3), rep("4",3), rep("5",3))
b <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
df <-data.frame(a,b)
       a  b
1  1  1
2  1  2
3  1  3
4  2  4
5  2  5
6  2  6
7  3  7
8  3  8
9  3  9
10 4 10
11 4 11
12 4 12
13 5 13
14 5 14
15 5 15

我想要这样:

a <- c(rep("2", 3), rep("3", 3))
b <- c(4,5,6,7,8,9)

dffinal<-data.frame(a,b)

  a b
1 2 4
2 2 5
3 2 6
4 3 7
5 3 8
6 3 9

我可以使用子集功能,但它不工作

I could use the "subset" function, but its not working

sub <- subset(df,c(2,3) == a )

      a b
    5 2 5
    8 3 8

此命令在a列中只需要一行2和3。

This command only takes one row of "2" and "3" in column "a".

任何帮助?

推荐答案

你很迷惑 == 与%中的

You're confusing == with %in%:

subset(df, a %in% c(2,3))
#   a b
# 4 2 4
# 5 2 5
# 6 2 6
# 7 3 7
# 8 3 8
# 9 3 9

这篇关于按列分组数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆