0
나는 만든 함수를 모방하는 두 가지 함수가 있습니다. 유일한 차이점은 마지막 줄입니다. 첫 번째는 벡터를 반환하고 두 번째는 데이터 프레임을 반환합니다. 데이터 프레임이 필요합니다. 나는 둘의 차이를 이해하지 못한다.R은 within() 함수를 사용하여 데이터 프레임을 출력합니다.
x<-rnorm(5)
y<-rnorm(5)
t<-function(x,y){
d<-data.frame(cbind(x,y))
d$e<-y*2
}
g<-t(x,y)
> g
[1] -1.3912452 1.0013463 -2.8913569 1.9724236 -0.3014467
이는 벡터
u<-function(x,y){
d<-data.frame(cbind(x,y))
within(d,e<-y*2)
}
h<-u(x,y)
> h
x y e
1 0.80599999 -0.6956226 -1.3912452
2 -0.04446587 0.5006731 1.0013463
3 0.65049716 -1.4456785 -2.8913569
4 -1.69269074 0.9862118 1.9724236
5 1.70878627 -0.1507234 -0.3014467
이 데이터 프레임을 반환에게 반환합니다.
첫 번째 줄은 함수가 아닌 한 줄씩 실행할 수 있으며 데이터 프레임을 반환하지만 함수 내에서 줄 바꿈하지는 않습니다. 통찰력을 가져 주셔서 감사합니다.
첫 번째 함수에서 벡터 인'd $ e'를 반환하고 두 번째에는 data.frame을 반환하는'within' 행 – akrun
ok, 나는 돌아가서 마지막 줄을 추가했습니다. 위의 예에서 'd'가되고 데이터 프레임이 반환되었습니다. 나는 기능에 익숙하지 않지만 실제로이 기능을 끝내는 방법에 대해서는 많은 부분을 정리했다. –
또한'data.frame (cbind (..', 그냥'data.frame (x, y)'만으로도 충분하지 않습니다.) 클래스 열이 혼합되어있을 때 문제가됩니다 .. – akrun