如果我有这样一个表:
Sam 55
Toby 30
Fred 45
gdgv 63
Wed 19
Bill 26
....
Run Code Online (Sandbox Code Playgroud)
我想基于value(> 40,(30,40),<30)将此表拆分为几个表,这意味着它们将如下所示:
table 1:
Sam 55
Fred 45
gdgv 63
Run Code Online (Sandbox Code Playgroud)
表2:
Toby 30
Run Code Online (Sandbox Code Playgroud)
表3:
Bill 19
Wed 26
Run Code Online (Sandbox Code Playgroud)
我如何才能做到这一点for loop?
您可以使用split和cut
split(dat,
cut(dat$V2,
breaks = c(-Inf, 30, 40, Inf),
labels = c("<30", "(30,40)", ">40"),
right = FALSE))
#$`<30`
# V1 V2
#5 Wed 19
#6 Bill 26
#$`(30,40)`
# V1 V2
#2 Toby 30
#$`>40`
# V1 V2
#1 Sam 55
#3 Fred 45
#4 gdgv 63
Run Code Online (Sandbox Code Playgroud)
数据
text <- "Sam 55
Toby 30
Fred 45
gdgv 63
Wed 19
Bill 26"
dat <- read.table(text = text, stringsAsFactors = FALSE, header = FALSE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |