, @Sacha answer , , .
, "" , , , , "", (rbind , ).
, , . , .
-, .
set.seed(1)
myData1 <- data.frame(id = 1:20,
name = paste("a", 1:20, sep = ""),
marks = sample(20:100, 20, replace = TRUE),
gender = sample(c("F", "M"), 20, replace = TRUE))
myData2 <- data.frame(id = 1:17,
name = paste("b", 1:17, sep = ""),
marks = sample(30:100, 17, replace = TRUE),
gender = sample(c("F", "M"), 17, replace = TRUE))
-, .
1: ( list) myData1 myData2, . data.frame s.
lapply(list(myData1 = myData1, myData2 = myData2),
function(x) x[x$marks >= 30 & x$marks <= 50, ])
2: ( list) , FALSE ( ), TRUE ( ), , . , data.frame s.
lapply(list(myData1 = myData1, myData2 = myData2),
function(x) split(x, x$marks >= 30 & x$marks <= 50))
3: , . @Sacha, . , , , , . , data.frame s.
lapply(list(myData1 = myData1, myData2 = myData2),
function(x) split(x, cut(x$marks,
breaks = c(0, 30, 50, 75, 100),
include.lowest = TRUE)))
4. , 1. data.frame, , .
myDataALL <- rbind(myData1, myData2)
myDataALL[myDataALL$marks >= 30 & myDataALL$marks <= 50, ]
5: split : , , , . data.frame s.
split(myDataALL, myDataALL$marks >= 30 & myDataALL$marks <= 50)
, !