Chcę dokonać podziału danych, jeśli każda wartość w wierszu jest większa niż odpowiedni wiersz w innej ramce danych. Muszę też pominąć niektóre najlepsze wiersze. Te poprzednie pytania nie może mi pomóc, ale jest powiązany:Podział na podstawie wartości innej ramki danych w R
Subsetting a data frame based on contents of another data frame
Subset data using information from a different data frame [r]
> A
name1 name2
cond trt ctrl
hour 0 3
A 1 1
B 10 1
C 1 1
D 1 1
E 10 10
> B
name1 name2
cond trt ctrl
hour 0 3
A 1 1
B 1 10
C 1 1
D 1 1
E 1 1
chcę tego. Tylko wiersze, gdzie wszystkie wartości były większe niż A-B:
name1 name2
cond trt ctrl
hour 0 3
E 10 10
Próbowałem te 3 linie:
subset(A, TRUE, select=(A[3:7,] > B[3:7,]))
subset(A, A > B)
A[A[3:7,] > B[3:7,]]
Dzięki tak dużo. Oto kod, aby wygenerować dane:
A <- structure(list(name1 = c("trt", "0", "1", "10", "1", "1", "10"
), name2 = c("ctrl", "3", "1", "1", "1", "1", "10")), .Names = c("name1",
"name2"), row.names = c("cond", "hour", "A", "B", "C", "D", "E"
), class = "data.frame")
B <- structure(list(name1 = c("trt", "0", "1", "1", "1", "1", "1"),
name2 = c("ctrl", "3", "1", "10", "1", "1", "1")), .Names = c("name1",
"name2"), row.names = c("cond", "hour", "A", "B", "C", "D", "E"
), class = "data.frame")
############# pytanie następcze poprosił 2/28/13
Error when subsetting based on adjusted values of different data frame in R
wartości rzędu 'godzinach nie przekraczają. Czy chcesz zignorować ten wiersz? –
Tak, chcę ignorować kategorie godzin i warunków – chimpsarehungry