R - 为类变量

时间:2017-01-09 17:53:41

标签: r

我正在尝试重新创建一个我在R中的SAS中的过程,在那里我创建一个数据集,其中包含某个变量的不同值以对该变量进行评分。在这种情况下,我希望重复我的数据集中的每个观察,处理序数从0变为4,因此每个观察将变成5个观察。

SAS代码:

data want;
  set have;
  do treatmentordinal=0 to 4;
  output;
  end;
run;

这将基本上为数据集中的每个观察创建5个观察值,其中治疗序数将从0到4。我一直在寻找如何做到这一点,找不到任何东西。

要清楚,我已经拥有一个10k左右的数据集。只想让每一行都有各种治疗价值。

实施例 有:

treatment=c(2)
ID=c(1)
df_have=data.frame(treatment,ID)

想:

treatment2=c(0,1,2,3,4)
ID=c(1)
df_want=data.frame(treatment2,ID)

1 个答案:

答案 0 :(得分:0)

我认为你要找的是expand.grid

treatment2=c(0,1,2,3,4)
ID=c(1:2)
expand.grid(TR=treatment2,ID=ID)
      TR   ID
1     0    1
2     1    1
3     2    1
4     3    1
5     4    1
6     0    2
7     1    2
8     2    2
9     3    2
10    4    2

在您的主要数据上,您可能会执行以下操作:

expand.grid(TR=unique(data$treatment), ID=unique(data$ID))