我有一个包含很多行的Dataframe,我想添加一个沿每个第x行计数的列并相应地标记它,例如:
ROW LABEL
1 1
2 1
3 1
4 1
5 2
6 2
7 2
8 2
9 3
9 3
依此类推,其中ROW是我的Dataframe的行。我希望能够改变LABEL计数,在示例中我已经显示标签计数设置为4(每隔4行增加标签) 。 任何帮助表示赞赏。
P上。
答案 0 :(得分:1)
两个字:integer division。
使用rep()
:
N <- 4L; df$LABEL <- rep(seq_len(nrow(df)%/%N+1L),each=N,len=nrow(df));
df;
## ROW LABEL
## 1 1 1
## 2 2 1
## 3 3 1
## 4 4 1
## 5 5 2
## 6 6 2
## 7 7 2
## 8 8 2
## 9 9 3
使用seq()
:
N <- 4L; df$LABEL <- seq(0L,len=nrow(df))%/%N+1L;
df;
## ROW LABEL
## 1 1 1
## 2 2 1
## 3 3 1
## 4 4 1
## 5 5 2
## 6 6 2
## 7 7 2
## 8 8 2
## 9 9 3
数据强>
df <- data.frame(ROW=c(1L,2L,3L,4L,5L,6L,7L,8L,9L));
答案 1 :(得分:0)
您可以将close()
与每个参数一起使用:
var sse = new EventSource("...");
sse.onerror = function() {
sse.close();
};
然后分配它:
rep
为了使其更具动态性,您可以为x参数提供总行数的度量值:
rep(1:4, each=4)
[1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
这假设总行数可以被4整除。如果不是,你还可以包括length.out参数(由@Frank建议)来设置正确的长度差异:
df$label <- rep(1:4, each=4)
如果要改变每个标签的长度,也可以为不同长度的矢量提供重复以重复x中的每个元素。例如:
df$label <- rep(1:ceiling(nrow(df) / 4), each=4)
请注意,长度向量必须与x向量具有相同的长度。
答案 2 :(得分:0)
您可以使用以下代码。您可以更改前两行中的标签和重复次数。
labelQuantity <- 4
repeatLabel <- 4
label <- rep(1:labelQuantity,1,each=repeatLabel)
row <- seq(1,length(label),1)
myDataFrame <- as.data.frame(cbind(row,label))
干杯!