我的目的是向数据帧添加一个向量,该数据帧包括对应于另一个向量中连续数字序列的连续数字。
例如,在下面的数据框中,我想自动添加一个矢量V11,它保存连续的数字,V1中每个连续数字序列一个。换句话说,我想添加一个带有连续数字的向量V11,V2中的每个句子都有一个数字。
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11
1 1 I _ PRON PRP _ 2 nsubj _ _ 1
2 2 saw _ VERB VBD _ 0 ROOT _ _ 1
3 3 a _ DET DT _ 4 det _ _ 1
4 4 man _ NOUN NN _ 2 dobj _ _ 1
5 5 with _ ADP IN _ 4 prep _ _ 1
6 6 glasses _ NOUN NNS _ 5 pobj _ _ 1
7 7 . _ . . _ 2 punct _ _ 1
8 1 I _ PRON PRP _ 2 nsubj _ _ 2
9 2 saw _ VERB VBD _ 0 ROOT _ _ 2
10 3 a _ DET DT _ 4 det _ _ 2
11 4 woman _ NOUN NN _ 2 dobj _ _ 2
12 5 . _ . . _ 2 punct _ _ 2
我模糊地猜测这应该可以使用for循环,但我没有能力编程。
提前感谢您的回答。
答案 0 :(得分:1)
基础R解决方案
cumsum(c(TRUE, diff(df1$V1) < 0))
#[1] 1 1 1 1 1 1 1 2 2 2 2 2
答案 1 :(得分:0)
这对你有用。 mydata是数据框的名称
mydata$V11=1
j=1
for(i in 2:nrow(mydata))
{
if(mydata$V1[i]==(mydata$V1[i-1]+1))
mydata$V11[i]=j
else
{
j=j+1
mydata$V11[i]=j
}
}