transform, apply, cbind 함수를 data.frame에 사용하면 보통 list 또는 dataframe로 리턴된다.


dataFrame$newColumn <- apply(dataFrame, 1, function(x) { . . . } )



dataFrame <- transform(dataFrame, newColumnName = some equation)


data.frame를 리턴하지 않고, 특정 컬럼값만 변경하고 싶은 경우에는 다음과 같이 쉽게 쓸 수 있다. (이게 R의 매력인 것 같다.)


> dat <- data.frame(x=c(1,2), y=c(3,4), z=c(5,6))

> dat

  x y z

1 1 3 5

2 2 4 6


> dat$z <- dat$z * 2

> dat

  x y  z

1 1 3 10

2 2 4 12


> dat$y <- ifelse (dat$y == 4 , 0, 10)

> dat

  x  y  z

1 1 10 10

2 2  0 12






Posted by '김용환'
,