【发布时间】:2015-01-24 08:25:55
【问题描述】:
如果我有以下 data.frame,我将如何为每年创建一个虚拟变量并将其附加到 DF,这样就会有额外的列 year2010 和 year2011。我有一个相当大的数据集,有很多不同的年份,我不想使用 ifelse 50 次。 ddply?
谢谢
DF <- read.table(text=" year id var ans
2010 1 1 1
2010 2 0 0
2010 1 0 1
2010 1 0 1
2011 2 1 1
2011 2 0 1
2011 1 0 0
2011 1 0 0", header=TRUE)
期望的输出:
year id var ans year_2010 year_2011
1 2010 1 1 1 1 0
2 2010 2 0 0 1 0
3 2010 1 0 1 1 0
4 2010 1 0 1 1 0
5 2011 2 1 1 0 1
6 2011 2 0 1 0 1
7 2011 1 0 0 0 1
8 2011 1 0 0 0 1
1
【问题讨论】:
-
在 DF 中,您已经拥有
year。这是你所期待的吗?或者这是 DF 的一部分? -
@jazzurro 我需要虚拟变量列来区分年份。
-
请使用此示例输入显示您想要的输出。
-
我想知道简单的
DF$year = factor(DF$year)是否足以满足您的需求,并且根本不需要创建虚拟变量。 R 中的线性回归将因子变量理解为分类变量。 -
“没用”非常含糊。无论如何,祝你好运。
标签: r