2016-08-10 8 views
0

Rを使用しています。私は初心者です。私はこの特定のエラー/状況を検索しようとしていて、空の手を出しました。ここに行く:計算された列がRdcastで認識されない

私はこれをやって新しい列にdcast使用しようとすると別の列

MYDATA$NETREV <- (MYDATA[60] - MYDATA[51]) 

から既存の列を減算することにより、数値列作成:私はこれを取得

NETREV.TREND <- dcast(MYDATA, SCHOOL ~ YEAR, value.var="NETREV") 

をエラー:

Error in `[.data.frame`(value, overall) : undefined columns selected 

私は新しい列を位置、で参照しようとしましたと私はそれを行うとき、私はで始まるエラーが出る:私のデータ内の他の列にdcastを使用して

Error: value.var (list(OPREVADJ = c(-9280446, -14437883, -12637590, -14365373, -17149995, -13960077, -11458410, -3701678, -861092, -10071075, 23965, -5324362, -5974479, 14275488, -6118691, -7801750, -7838486, -14343695, NA, -17785841, -14357459, -14787673, -480654 ... etc.

が正常に動作し、行うことになっているものを正確に行います。

申し訳ありません申し訳ありません。これは私のデータがどのように見えるかです:

SCHOOL YEAR REVENUE EXPENSES 

A 2011 10000000 12000000 

A 2012 15000000 14000000 

A 2013 16000000 15700000 

B 2011 8000000 6000000 

B 2012 7500000 6500000 

B 2013 7770000 5500000 

私はdcastが、それは以下のように見えるようにしたい(もちろん、収益マイナス経費である)新しい列NETREVに

SCHOOL YEAR REVENUE EXPENSES NETREV 

A 2011 10000000 12000000 -2000000 

A 2012 15000000 14000000 1000000 

A 2013 16000000 15700000 300000 

B 2011 8000000 6000000 2000000 

B 2012 7500000 6500000 1000000 

B 2013 7770000 5500000 2270000 

を作成しました:

SCHOOL 2011 2012 2013 

A -2000000 1000000 300000 

B 2000000 1000000 2270000 
+0

列名を確認してください。あなたは '名前(MYDATA)[名前(MYDATA)%%c(" SCHOOL "、" YEAR ")]'から何を得ますか? –

+2

サンプルデータを含めて再現可能な例を提供してください。どのように、どのようにインクルードするのかについては、[help/mcve](http://stackoverflow.com/help/mcve)と[reproducible examples](http://stackoverflow.com/questions/5963269/how-to)を参照してください。 -make-a-great-r-reproducible-example)である。 – r2evans

+0

@ jgadouryの答えは即時の関数を解くでしょうが、デフォルトの集約関数 'length'を*使用しない*でしょう。代わりに 'sum'をお勧めします。 – Gregor

答えて

1

data.frameのカラムにアクセスする場合は、MYDATA[, i]を使用してください。ここで、iはカラム番号です。

MYDATA$NETREV <- (MYDATA[, 60] - MYDATA[, 51]) 
+0

新しい列を割り当てるとき、これとOPのコードとの違いはありません –

+0

素晴らしいです!私が前にそれをしたとき、それはまだNETREV列を作成していました。しかし、これを最初に行うことは間違いなく働いた。ありがとうございました。まだこれとすべての特質を学んでいる.. – PML

関連する問題