나는 내 질문을 바꾸려고한다. 다음 데이터 프레임 bb1이 있으며 dply에서 dcast를 사용하여 디 스테스팅하고 있습니다. 이 예제에서 "조건"(subject ~ condition)에 따라 각 "subject"의 "rt"열에 얼마나 많은 obersvations가 있는지 계산하려고합니다. 그러나 "z.score"가있는 관찰 만 원한다면 크리닝 상태. 벨로우즈 예제에서는 abs (z.score)> 1.5를 사용했지만 때로는 1.5, 가끔은 1, 때로는 2가 될 수도 있습니다. 1.5는 예제 일뿐입니다. 또한 예제에서 나는 길이를 계산하지만 평균값을 계산할 수 있기를 바란다. (예를 들어 "주제"에 대한 "평균"열의 의미는 "z.score" "> 1.5이므로 길이는 여기에 한 예입니다).dcast를 사용할 때 각 ID에 대해 value.var을 얻는 방법은 무엇입니까?
require(reshape2)
require(dplyr)
bb1 = data.frame(subject=c(99,99,99,99,99,11,11,11), rt=c(100,150,2,4,10,15,1,2), ac=rep(1,8),
condition=c(1,1,2,4,3,3,4,4), z.score=c(0.2,0.3,0.2,0.3,0.3,0.2,0.2,0.2))
> bb1
# subject rt ac condition z.score
# 1 99 100 1 1 0.2
# 2 99 150 1 1 0.3
# 3 99 2 1 2 0.2
# 4 99 4 1 4 0.3
# 5 99 10 1 3 0.3
# 6 11 15 1 3 0.2
# 7 11 1 1 4 0.2
# 8 11 2 1 4 0.2
bb1 %>%
group_by(subject, condition) %>%
summarise(n = length(rt[abs(z.score) > 1.5])) %>%
dcast(subject ~ condition, value.var = "n")
# subject 1 2 3 4
# 1 11 NA NA 0 0
# 2 99 0 0 0 0
내 주제는 각 주제에 대해 value.var = "n"을 계산하려면 어떻게해야합니까? 조건별로 각 과목마다 다르지 않은가? 조건에 따라 각 주제에 대해 value.var를 얻고 싶습니다. 이것은 각 행의 여백을 계산할 수 있음을 의미합니다. 그러나 subject-condition에 대해 value.var를 얻고 싶지는 않습니다. 여백 만 얻고 싶습니다 (즉, 조건에 따라 각 subject에 대해 value.var를 얻고 싶습니다). 그리고 data.frame으로 저장하십시오. 나는 위의 BB1에서 이
# subject rt
# 1 11 0
# 2 99 0
Becaude 뭔가를 좀하고 싶습니다 두 과목 (즉, 대상 11 주제 99) 나는의 z.score 제한을 충족 조건 중 하나에 관찰이 없습니다 둘 다 0을 얻을 필요가있다.
내 질문이 지금은 더 좋기를 바랍니다.
어떤 도움을 주시면 대단히 감사하겠습니다. 감사합니다, 아얄라
당신의 예제에서 ... z.score는 모두 0.2 또는 0.3이지만, 카운트 될 조건은'> 1.5'입니다. 'n = sum (abs (z.score)> 1.5)'를 사용하여 '요약'을 간소화 할 수 있습니다. 그러나 1.5 임계 값이 주어지면 산출물이 정확합니다. – Gregor
출력을 원하는대로 추가 할 수 있습니까? 아마도 마진을 추가하기를 원할 것입니다. (마진 = "조건"을'dcast'에 추가하십시오) 아니면'dcast (subject ~., value.var = "n")'를 원합니까? – aosmith
@aosmith 질문에 대한 답을 다시 썼습니다. 나는 dcast (subject ~., value.var = "n")를 시도했지만, 2와 4를 얻었고 (각각 대상 11과 99), 관찰 조건이 없기 때문에 두 가지 모두 0을 얻어야한다. 내 z.score 제한을 충족합니다 – ayalaall