웹사이트 검색

R with() 및 within() 함수 - 알아야 할 모든 것!


안녕하세요, 독자 여러분! 이 기사에서는 밀접하게 관련되어 있지만 서로 다른 R 프로그래밍의 두 가지 기능인 R with() 및 within() 기능에 대해 자세히 살펴보겠습니다. 그러니 우리가 되자!! :)

1. R with() 함수

특정 작업을 수행하기 위해 사용자 지정/사용자 정의 기능을 구축해야 할 필요성을 느끼는 상황이 자주 발생합니다. R with() 함수를 사용하면 R 식에서 작업할 수 있을 뿐만 아니라 해당 함수를 한 번에 호출하는 프로세스를 수행할 수 있습니다!

즉, with() 함수를 사용하면 인수로 전달될 함수 내에서 R 표현식을 평가할 수 있습니다. 데이터 프레임에서만 작동합니다. 이것이 R 표현식의 평가 결과가 인수로 전달된 데이터 프레임과 관련하여 수행되는 이유입니다.

통사론:

with(data-frame, R expression)

예:

rm(list = ls())

Num <- c(100,100,100,100,100)
Cost <- c(1200,1300,1400,1500,1600)

data_A <- data.frame(Num,Cost,stringsAsFactors = FALSE)

with(data_A, Num*Cost)
with(data_A, Cost/Num)

위의 예에서는 with() 함수에서 직접 데이터 프레임 data_A에 대한 'Num*Cost' 표현식을 계산했습니다.

그런 다음 함수 내에서 'Cost/Num' 표현식도 계산했습니다.

이 두 명령문을 차례로 사용하는 이유는 with() 함수가 어떤 대가를 치르더라도 원본 데이터 프레임을 변경하지 않는다는 점을 강조하기 위함입니다. 데이터 프레임의 열과 관련된 모든 값에 대해 개별적으로 출력을 제공합니다.

산출:

> with(data_A, Num*Cost)
[1] 120000 130000 140000 150000 160000
> with(data_A, Cost/Num)
[1] 12 13 14 15 16

2. R within() 함수

with() 함수에 대해 읽었으니 이제는 트윈에 집중하겠습니다! ㅋ! 농담이야! 기능의 이름은 비슷하게 들리지만 기능이 다릅니다.

R within() 함수는 표현식의 결과를 내부에서 계산하지만 약간의 차이가 있습니다. 이를 통해 데이터 프레임의 복사본을 만들고 결국 R 표현식의 결과를 저장할 열을 추가할 수 있습니다.

통사론:

within(data frame, new-column <- R expression)

예:

rm(list = ls())

Num <- c(100,100,100,100,100)
Cost <- c(1200,1300,1400,1500,1600)

data_A <- data.frame(Num,Cost,stringsAsFactors = FALSE)

within(data_A, Product <- Num*Cost)
within(data_A, Q <- Cost/Num)

여기서는 with() 함수에 사용한 것과 동일한 표현식의 평가를 수행했습니다. 그러나 여기에서는 식의 결과를 저장할 새 열을 만들었습니다.

> within(data_A, Product <- Num*Cost)
  Num Cost Product
1 100 1200  120000
2 100 1300  130000
3 100 1400  140000
4 100 1500  150000
5 100 1600  160000
> within(data_A, Q <- Cost/Num)
  Num Cost  Q
1 100 1200 12
2 100 1300 13
3 100 1400 14
4 100 1500 15
5 100 1600 16

결론

이상으로 이 주제를 마치겠습니다. 궁금한 점이 있으면 아래에 의견을 남겨주세요.

R과 관련된 더 많은 게시물을 보려면 계속 지켜봐주십시오. 그때까지 Happy Learning!! :)