본문 바로가기
반응형

R 주제/R 코딩 연습문제8

[R 코딩 연습문제] 함수 사용 문제 아래와 같은 데이터프레임을 입력받아서, > df_wh w h 1 63 163 2 67 177 3 88 185 아래 결과를 출력하는 함수를 만드시오. > bmi2(df_wh) w h bmi 1 63 163 23.71184 2 67 177 21.38594 3 88 185 25.71220 정답 w=c(63,67,88) h=c(163,177,185) df_wh=data.frame(w,h) bmi1=function(myvec) { return(myvec[1]/myvec[2]^2*1e4) } bmi2=function(mydf) { bmi=apply(mydf,1,bmi1) result=cbind(df_wh,bmi) return(result) } 2022. 11. 7.
[R 코딩 연습문제] 누적분포 그래프 그리기 (R 코딩실력 향상을 위한 연습문제입니다.) Question 아래 데이터의 누적분포 그래프를 그리시오. 1,2,7,8,10,11,13,15,17,19 Answer data=c(1,2,7,8,10,11,13,15,17,19) cd=1:length(data)/length(data) plot(data,cd) 2022. 5. 13.
[R 코딩 연습문제] 가장 가까운 원소 인덱스 출력 (R 코딩실력 향상을 위한 연습문제입니다.) Question 주어진 데이터는 아래와 같다. data=1:100 1~100 사이의 임의의 실수가 주어졌을 때 해당 값과 가장 가까운 data 원소의 index 를 출력하는 코드를 작성하시오. 가장 가까운 숫자가 두개인 경우 둘 중 아무거나 출력해도 됩니다. Answer data=1:100 a=24.5 order(abs(data-a))[1] 2022. 5. 11.
[R 코딩 연습문제] 두배씩 커지는 수열 만들기 (R 코딩실력 향상을 위한 연습문제입니다.) Question 특정한 숫자로 부터 두배씩 커지는 수열을 만드시오. 시작 숫자와 원소의 개수를 설정할 수 있도록 하시오. Answer sequence=10 length=5 for (i in 1:length){ sequence[i+1]=sequence[i]*2 } 출력결과 > sequence [1] 10 20 40 80 160 320 2022. 5. 5.
[R 코딩 연습문제] 피타고라스 음계 구하기 Question) 피타고라스 음계의 진동수를 구하는 수열은 아래와 같습니다. $a_{1}=1, a_{n+1}=\left\{\begin{matrix} \frac{3}{2}a_{n} & (n \ is \ odd)\\ \frac{3}{4}a_{n} & (n \ is \ even) \end{matrix}\right.$ 변수 n에 값을 입력하면, 해당 값까지의 수열을 출력해주는 코드를 만드시오. Answer) an=1 n=15 for (i in 2:n){ if (i%%2 ==0) # 짝수 {an[i]=an[i-1]*3/2} else if (i%%2 ==1) # 홀수 {an[i]=an[i-1]*3/4} } print(an) 출력결과 > print(an) [1] 1.000000 1.500000 1.125000 1.6.. 2022. 4. 2.
[R 코딩 연습문제] 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수 (R 코딩실력 향상을 위한 연습문제입니다.) Question 두 데이터를 벡터로 입력받고, 두 데이터의 평균, 표준편차, 총합, 원소 수를 비교해주는 함수를 만들어 봅시다. 아래와 같은 결과가 출력되야 합니다. Answer 먼저 1강에서 배운 크기비교함수를 아래와 같이 변형하겠습니다. comp=function(a,b) { if (a>b) {results=">"} else if (a 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 2020. 3. 14.
[R 코딩 연습문제] 구구단을 출력하는 함수를 만들어봅시다. (R 코딩실력 향상을 위한 연습문제입니다.) Question 구구단을 출력하는 함수를 만들어봅시다. 숫자 하나를 입력받으면, 이 숫자에 해당하는 구구단을 출력하는 것입니다. 아래와 같은 결과가 출력되야 합니다. > myfun(5)[1] "5 x 1 = 5"[1] "5 x 2 = 10"[1] "5 x 3 = 15"[1] "5 x 4 = 20"[1] "5 x 5 = 25" Answer for문을 이용합니다. a라는 숫자를 받으면, a에 1부터 a까지 곱한 결과를 출력합니다. 1부터 a까지의 숫자를 한번씩 대입하며 for문의 루프가 반복됩니다. 예를들어 a가 3이라면 1부터 3까지 총 세번의 루프가 반복됩니다. 첫번째 루프에서는 3x1=3두번째 루프에서는 3x2=6세번째 루프에서는 3x3=9가 출력됩니다. R.. 2020. 3. 14.
[R 코딩 연습문제] 두 수를 입력하면 비교결과를 출력해주는 함수를 만들어봅시다. (R 코딩실력 향상을 위한 연습문제입니다.) Question 두 수를 입력하면 비교결과를 출력해주는 함수를 만들어봅시다. 아래와 같은 결과가 출력되야 합니다. > myfun(1,3)[1] "1 myfun(112,47)[1] "112 > 47" > myfun(31,31)[1] "31 = 31" Answer if문을 사용합니다. 절차는 아래와 같습니다. 1) a > b 인가?2) 참이면 "a>b" 출력, 거짓이면 3으로3) a myfun(112,47)[1] "112 > 47" > myfun(31,31)[1] "31 = 31" 영상이 더 편하신 분 2020. 3. 14.
반응형