У меня есть кадр данных:удалить некоторые строки в dataframe
mydata <- data.frame(
x1= as.factor(1:3),
x2= as.factor (4:6),
x3= as.factor(7:9),
x4= as.factor (2:7),
x5= as.factor(1:6),
x6= seq(0,600,len= 600),
x7= seq(0,1,len=600)
)
И я хочу, чтобы удалить некоторые строки в этом с конкретными условиями. Я сделал это так:
mydata1 <- mydata%>%
filter(x1==1, x2==4, x3==7, x4==2, x5==1)%>%
anti_join(mydata,., by=c("x1", "x2", "x3", "x4","x5","x6" "x7"))
mydata2 <- mydata1%>%
filter(x1==3, x2==6 x3==9, x4==7, x5==6)%>%
anti_join(mydata1,., by=c("x1", "x2", "x3", "x4","x5","x6", "x7"))
Есть много строк, которые я хочу удалить. Есть ли другой способ сделать это?
Почему вы используете здесь факторы? Факторы с целыми уровнями, которые не соответствуют номерам уровней, кажутся рискованным и ненужным осложнением. – Gregor
Базовая опция R - это 'mydata1 <- mydata [! As.character (взаимодействие (mydata [1: 5]))% в%" 1.4.7.2.1 ",]; mydata2 <- mydata1 [! As.character (взаимодействие (mydata1 [1: 5]))% в% "1.6.9.7.6",] ' – akrun