In R, how to split/subset a data frame by factors in one column?

按照某列的值拆分data.frame

My data is like this (for example):

ID  Rate    State
1   24  AL
2   35  MN
3   46  FL
4   34  AL
5   78  MN
6   99  FL

I want to split the data by state and I want to get 3 data sets like below:

data set 1
ID  Rate    State
1   24  AL
4   34  AL
data set 2
ID  Rate    State
2   35  MN
5   78  MN
data set 3
ID  Rate    State
3   46  FL
6   99  FL

split( df , df$State )$AL  ID Rate State1  1   24    AL4  4   34    AL

$FL  ID Rate State3  3   46    FL6  6   99    FL

$MN  ID Rate State2  2   35    MN5  5   78    MN

mylist <- split( df , df$State ) ; mylist[[1]]mylist[[2]]mylist[[3]]

REF:http://stackoverflow.com/questions/19327020/in-r-how-to-split-subset-a-data-frame-by-factors-in-one-column
时间: 2024-08-29 00:16:25

In R, how to split/subset a data frame by factors in one column?的相关文章

keep or remove data frame columns in R

You should use either indexing or the subset function. For example : R> df <- data.frame(x=1:5, y=2:6, z=3:7, u=4:8) R> df x y z u 1 1 2 3 4 2 2 3 4 5 3 3 4 5 6 4 4 5 6 7 5 5 6 7 8 Then you can use the which function and the - operator in column

转载:R语言Data Frame数据框常用操作

Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的. Data Frame每一列有列名,每一行也可以指定行名.如果不指定行名,那么就是从1开始自增的Sequence来标识每一行. 初始化 使用data.frame函数就可以初始化一个Data Frame.比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为: studen

R语言Data Frame数据框常用操作

Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的. Data Frame每一列有列名,每一行也可以指定行名.如果不指定行名,那么就是从1开始自增的Sequence来标识每一行. 初始化 使用data.frame函数就可以初始化一个Data Frame.比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为: studen

R语言合并data.frame

Merging Data Adding Columns To merge two data frames (datasets) horizontally,  use the merge function. In most cases, you join two data frames  by one or more common key variables (i.e., an inner join). # merge two data frames by ID   total <- merge(

将R非时间序列的data.frame转变为时序格式

将R非时间序列的data.frame转变为时序格式,常常会用到,尤其是股票数据处理中, 举例:dailyData包括两列数据:Date Close10/11/2013 871.9910/10/2013 868.2410/9/2013 855.8610/8/2013 853.6710/7/2013 865.7410/4/2013 872.3510/3/2013 876.0910/2/2013 887.9910/1/2013 8879/30/2013 875.919/27/2013 876.399/

R 语言中 data table 的相关,内存高效的 增量式 data frame

面对的是这样一个问题,不断读入一行一行数据,append到data frame上,如果用dataframe,  rbind() ,可以发现数据大的时候效率明显变低. 原因是 每次bind 都是一次重新整个数据集的重新拷贝 这个链接有人测试了各种方案,似乎给出了最优方案 http://stackoverflow.com/questions/11486369/growing-a-data-frame-in-a-memory-efficient-manner library(data.table) d

R vs Python:构建data.frame、读取csv与统计描述

一.Python 数据框就是典型的关系型数据库的数据存储形式,每一行是一条记录,每一列是一个属性,最终构成表格的形式,这是数据科学家必须熟悉的最典型的数据结构. 1.构建数据框 import pandas as pd data = {'year':[2010, 2011, 2012, 2010, 2011, 2012, 2010, 2011, 2012], 'team':['FCBarcelona', 'FCBarcelona', 'FCBarcelona', 'RMadrid', 'RMadr

R语言的data.frame()

R语言的数据框类似于矩阵,有行和列两个维度,然而数据框的每一列可以是不同的mode,例如某列由float组成,某列由char组成等等.技术层面上讲,数据框是一个每个组件长度都相等的list. > kids <- c('jack', 'jill') > ages <- c(12, 10) > d <- data.frame(kids, ages, stringsAsFactors = F) #创建数据框 > d kids ages 1 jack 12 2 jill

R语言中的 Vector, Array, List 和 Data Frame

1.Vector 所有的元素必须是同一类型. 例如下面的代码创建了2个vectors. name <- c("Mike", "Lucy", "John") age <- c(20, 25, 30) 2.Array & Matrix Matrix是一种特殊的vector.Maxtrix是一个拥有两个额外属性的vector:行数和列数. > x <- matrix(c(1,2,3,4), nrow=2, ncol=2)