I want to multiply data if each value in a row is larger than the corresponding row in another data frame. I also need to skip some of the top lines. These previous questions did not help me, but this is related:
Substitution of a data frame based on the contents of another data frame
A subset of data using information from another 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
I want it. Only lines where ALL values were greater in A than B:
name1 name2
cond trt ctrl
hour 0 3
E 10 10
I tried these 3 lines:
subset(A, TRUE, select=(A[3:7,] > B[3:7,]))
subset(A, A > B)
A[A[3:7,] > B[3:7,]]
Many thanks. Here is the code to generate the data:
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")
############## Subsequent question asked 2/28/13Error with a subset based on the adjusted values of different data frames in R