0

使用 R。我是新手。我确实尝试搜索这个特定的错误/情况,但空手而归。开始:

我通过从另一列中减去现有列来创建一个数字列

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

当我尝试在新列上使用 dcast 时:

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

我收到此错误:

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

我尝试按位置引用新列,value.var=MYDATA[61]当我这样做时,我收到一个以以下开头的错误:

错误:value.var (list(OPREVADJ = c(-9280446, -14437883, -12637590, -14365373, -17149995, -13960077, -11458410, -3701678, -861092, -10071075, 23965, -53249362, -532,9362, 14275488、-6118691、-7801750、-7838486、-14343695、NA、-17785841、-14357459、-14787673、-480654 ...等。

与我数据中的任何其他列一起使用dcast都可以正常工作,并且完全符合它的预期。

对不起,我没有在前面说清楚。这是我的数据的样子:

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

我创建了新列 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

我希望 dcast 使其如下所示:

SCHOOL  2011    2012    2013

A   -2000000    1000000 300000

B   2000000 1000000 2270000
4

1 回答 1

1

如果你想访问 a 中的列data.frame,你应该使用MYDATA[, i]wherei是你的列号。

MYDATA$NETREV <- (MYDATA[, 60] - MYDATA[, 51])
于 2016-08-10T16:06:03.087 回答