user2774993
user2774993

Reputation: 87

R programming, split data

I have data as follows:

ID   age   sugarlevel

123  15      8

456  13      10

789  25      5

...  

Anyone knows how to use R to split the data according to sugar level (>=7, <7)? Which means should split into two groups:

group 1:

ID  age  sugarlevel

123  15      8

456  13      10

...

group 2:

ID  age  sugarlevel

789  25      5

...

Thanks in advance.

Upvotes: 0

Views: 135

Answers (1)

akrun
akrun

Reputation: 886938

We can split the dataset by a grouping variable df1$sugarlevel >=7 (from @nicola's comments)

 lst <- setNames(split(df1, df1$sugarlevel >=7), paste0('group',1:2))
 lst
 #$group1
 # ID age sugarlevel
 #3 789  25          5

 #$group2
 #   ID age sugarlevel
 #1 123  15          8
 #2 456  13         10

It is better to work with the dataset in the 'list', but if we need to have two sepearate objects in the global environment,

 list2env(lst, envir=.GlobalEnv)
 group1
 #  ID age sugarlevel
 #3 789  25          5

Upvotes: 2

Related Questions