은 내가 dataframe이처럼 보이는 (reshape2 :: 캐스트를 사용하여 병합)이 있습니다R : 여러 열의 요인 수준에 따라 값을 빼는 방법은 무엇입니까?
time days treatment extrafactor1 extrafactor2 extrafactor3 animal1 animal2 animal3
10 83 control B water 2 2 67 40
10 83 control B water 3 50 67 39
10 83 control A water 3 22 80 63
10 83 control A water 2 40 40 100
10 83 treated A water 3 40 69 92
10 83 treated A water 1 64 56 6
10 83 treated A water 2 90 67 52
10 83 treated B water 2 14 36 77
10 83 treated B water 3 41 83 55
10 83 treated B water 1 66 31 51
11 86 control B water 1 99 100 10
11 86 control B water 2 23 27 22
11 86 control A water 3 57 10 65
11 86 control A water 1 60 2 49
11 86 control A water 2 23 14 44
11 86 control B water 3 97 45 20
11 86 treated B water 2 71 15 24
11 86 treated B water 3 49 55 63
11 86 treated A water 3 54 88 27
을 내가 처리 된 샘플에서 제어 샘플의 다른 동물의 값을 빼지 싶습니다. 물론 빼기는 다른 요인의 수준이 일치하는 곳에서 일어나야하므로 "11_86_treated_A_water_3"의 animal1 값은 "11_86_control_A_water_3"의 animal1 값과 각 동물에 대한 값으로 줄여야합니다. 나는
df2 <- ddply(df, .(time,days,treatment,extrafactor1,extrafactor2,extrafactor3), transform, animal1 = animal1-animal1[treatment=="control"])
같은 plyr와 함께 몇 가지 시도를하고 있어요하지만, 나에게의 NA를 많이주고 나는 충분히 내가하고 싶은 것을 실행하기 위해 누락 된 정보가 있었다 확신합니다. 사실 100s의 동물이 있습니다.
내 시도는 여기에서 적응 만에 수행 할 수있는 덜 입력 변수와 적은 열을가한다: 여기 Easiest way to subtract associated with one factor level from values associated with all other factor levels 과 : R ddply with multiple variables
또한 긴 형식으로 테이블을 재편 할 때까지 기다릴 수있을 것은 그게 ggplot에 대한, 그 일을 쉽게한다면?
나에게 제안이 있으십니까?
안녕하세요! 재현 가능한 예제를 만들려면 https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example을보십시오. 그렇게하면 쉽게 도움이됩니다. – elevendollar
귀하의 예상 출력은 무엇입니까 – Wen