У меня есть большой набор данных, который я хочу удалить все строки, за исключением первых 8 за значение 1 переменной. (В этом примере только первый один)Удалите все, кроме первых строк из подмножества R
пример набор:
Time <- c(1:20)
stimulus <- c(rep("happy 1",4),rep("happy 2",4),rep("disgust 1",4),rep("anger 1",4),rep("sad 1",4))
Happy <- c(runif(20,0,1))
Disgust <- c(runif(20,0,1))
Anger <- c(runif(20,0,1))
Subj1<- data.frame(Time,stimulus,Happy,Disgust,Anger)
SO: Я хочу, чтобы удалить все строки для SUBJ1 $ стимула 1-й строки, кроме «счастливого 1», «счастливого 2», " отвращение 1" и т.д. мне удается сделать так, чтобы Подменю новую переменную, а затем де-выбрать все, кроме первых 8 строк, используя следующий код:
Stim1<-which(Subj1$stimulus=="happy 1")
Subj1<- Subj1[-c(Stim1[2:length(Stim1)]),]
Однако, я хочу, чтобы автоматически запускать это для всех переменные стимула. Еще одна вещь, которая делает это более трудным, - это то, что числа строк прыгают из-за удаления строк.
Благодарим за помощь!
Вы говорите, что хотите удалить все строки «за исключением первых 8 ...», но ваш пример удаляет все, кроме первого ОДНОГО. Что вы имеете в виду? – Zelazny7
Или: http://stackoverflow.com/questions/13279582/select-only-the-first-rows-for-each-unique-value-of-a-column-in-r – Jaap