(R 코딩실력 향상을 위한 연습문제입니다.)
Question
두 데이터를 벡터로 입력받고, 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수를 만들어 봅시다.
아래와 같은 결과가 출력되야 합니다.

Answer
먼저 1강에서 배운 크기비교함수를 아래와 같이 변형하겠습니다.
comp=function(a,b)
{
if (a>b) {results=">"}
else if (a<b) {results="<"}
else {results="="}
}
비교결과의 부등호 방향을 반환하는 함수입니다.
myfun=function(d1,d2)
{
#두 데이터의 통계량을 구함
stat_d1=c(mean(d1),sd(d1),sum(d1),length(d1))
stat_d1=round(stat_d1,2)
stat_d2=c(mean(d2),sd(d2),sum(d2),length(d2))
stat_d2=round(stat_d2,2)
#두 데이터의 통계량을 각각 비교하는 부등호를 vs라는 변수에 저장
vs=1:4
for (i in 1:4)
{
vs[i]=comp(stat_d1[i],stat_d2[i])
}
#두 데이터의 통계량과, 부등호가 저장된 vs로 데이터프레임 만들기
summary=data.frame(stat_d1,vs,stat_d2,
row.names=c("mean","sd","sum","N"))
#데이터프레임의 열이름에 해당되는 두 데이터의 이름을 입력벡터의 이름으로 받아서 사용
names(summary)=c(substitute(d1),"",substitute(d2))
summary
}
결과를 확인해봅시다.
> data1=c(10,23,15,24,15,26)
> data2=c(15,25,16,17,28,34,15,23,74)
> myfun(data1,data2)
data1 data2
mean 18.83 < 27.44
sd 6.37 < 18.66
sum 113.00 < 247.00
N 6.00 < 9.00
'R 주제 > R 코딩 연습문제' 카테고리의 다른 글
[R 코딩 연습문제] 가장 가까운 원소 인덱스 출력 (0) | 2022.05.11 |
---|---|
[R 코딩 연습문제] 두배씩 커지는 수열 만들기 (0) | 2022.05.05 |
[R 코딩 연습문제] 피타고라스 음계 구하기 (0) | 2022.04.02 |
[R 코딩 연습문제] 구구단을 출력하는 함수를 만들어봅시다. (0) | 2020.03.14 |
[R 코딩 연습문제] 두 수를 입력하면 비교결과를 출력해주는 함수를 만들어봅시다. (0) | 2020.03.14 |
댓글
만다린망고님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.