2012-10-30 4 views
1

난 형태로 데이터를 가지고R에 분산 형 플롯을 추가하는 방법은 무엇입니까?

Num Percent 
5 9.44 
4 19.7 
4 10.64 
4 10.81 
4 10.97 
4 11.35 
3 13.18 
3 24.54 
3 24.99 
3 12.95 
3 13.17 
3 24.29 
3 13.81 
3 13.93 
3 27.87 
3 13.26 
2 41.41 
2 34.19 
2 41.6 
2 19.31 
2 34.4 
2 38.72 
2 18.16 
2 36.28 
2 18.95 
2 18.49 

가 I 데이터를 플롯하고 싶은 등, 그 각 점에서 'NUM'(x)와 '퍼센트'(Y), 평균의 플롯과 함께 x 축 (2,3,4,5)의 평균값을 플롯에 더하고 평균 시리즈에 기반한 회귀선을 그립니다.

+1

여기에 방법을 참조하십시오 http://stackoverflow.com/a/2493010/269476을 – James

답변

1

데이터 프레임 호출 DF

MeansByNum <- tapply(DF$Percent, DF$Num, mean) #Create an array of means by Num 
NewDF <- data.frame(cbind(Num = as.numeric(as.vector(names(MeansByNum))), 
          Percent = as.numeric(MeansByNum))) 
plot(Percent~Num, DF) 
points(NewDF$Num, NewDF$Percent, col="red") 
abline(lm(Percent~Num, NewDF)) 
+0

정말 고마워요! 내가 사용할 수있는 abline() 외에 다른 함수가 있습니까? abline()은 직선을 그리며, 더 잘 맞는 회귀선을 그리고 차트의 선 방정식을 표시하려고합니다. – userOfLife

+0

'LM <- lm (Percent ~ as.vector (Num^n), DF)'모델을 얻을 수 있습니다. 'plot (함수 (x) coef (LM) [1] + coef (LM) [2] * x^n, MIN, MAX, add = TRUE)'는 선을 그릴 것입니다. legend (legend = round (coef (LM), digits = 3), x = "topleft")'는 계수를 표시하지만 수식은 표시하지 않습니다. –

+0

@ user1786672 '더 잘 맞는 회귀선'이라고 말하면 해당 코드에 맞는 줄은 회귀선 *입니다. 어떻게하면 더 나은 회귀선을 만들 수 있을까요? 커브를 물으시겠습니까? 아니면 가중치를 묻는거야? –

관련 문제