如何为确定的观察指定不同的索引号?

时间:2013-12-01 19:37:38

标签: r matrix-indexing

我想要做的是将值1分配给my数据的前1/3,然后将值2分配给我数据的第二个1/3观察值,最后将值3分配给第三个1/3的观察数据。

考虑到我的数据由30个观察结果组成的ccount,我做了以下代码:

c1 <- c(rep(1,10),rep(2,10),rep(3,10))

我将数据绑定到我的数据

gala2 <- cbind(data,c1)

然后,对于前10次观测(我的前1/3),c1的值为1,对于接下来的10次观测(第1/3次),c1的值为2,最后10次观察(我的第三个1/3)c1的值为3.

这很好用,但我想问一下是否有办法以更“抽象”的方式做到这一点。也就是说,要告诉R将值1分配给数据的前1/3,将值2分配给第二个1/3,将值3分配给第三个1/3?

致以最诚挚的问候,

2 个答案:

答案 0 :(得分:1)

是的,请尝试查看cut()。为了说明一下,请尝试使用您的示例:

cut(yourDataAsNumeric,3,labels=FALSE)

答案 1 :(得分:1)

您可以使用

sort(rep_len(seq(3), length(c1)))

其中c1是你的向量。