2012-01-20 4 views
1

私はdataというデータフレームを持っています。ここでは、4番目のフィールドの値を0-1000の範囲に再スケールし、スケーリングされた値を最も近い整数に丸めます。上記のコードは、このエラーをスローデータフレームの列のサイズを変更しますか?

scaled_data <- ddply(data, round(rescale(data[,4], to=c(0,1000), from=range(data[,4], na.rm=TRUE)), 0) 

:私はddplyroundrescaleを使用しようとしている

Error in `[.data.frame`(envir, exprs) : undefined columns selected 

誰もが問題か、私がしようとしているものを達成するためのより良い方法を指摘することができます行う?

答えて

4

私はあなたが複雑すぎると思っています。なぜ、あなたはddplyが必要なのかわかりません。

dd[,4] <- round(ggplot2::rescale(dd[,4],to=c(0,1000)) 

(あなたがしたので、私はggplot2::rescaleを使用していますが、(x-min(x))/diff(range(x))*1000が同じことをするだろう)

それとも、あなたができる4番目の列の名前わかっている場合:

dd <- transform(dd,fourth=rescale(fourth,to=c(0,1000))) 
関連する問題