如果我在数据框中有一系列数字 - 是否可以创建一个跟在序列后面的新列,但只显示奇数或偶数 - 这是一个例子:
SEQ ODDSEQ EVENSEQ
1 1 2
1 1 2
1 1 2
2 3 4
2 3 4
2 3 4
3 5 6
3 5 6
3 5 6
4 7 8
4 7 8
4 7 8
所以SEQ就是我现在所拥有的......一个重复的序列,我想创建第2列和第2列。 3 ..?我知道Modulo在某种程度上涉及到我可以完全理解它。
任何想法......? 保罗
答案 0 :(得分:0)
假设我们需要一般方法
library(dplyr)
df1 %>%
mutate(ODDSEQ = seq(1, length.out= n_distinct(SEQ), by = 2)[match(SEQ, unique(SEQ))],
EVENSEQ = seq(2, length.out = n_distinct(SEQ), by = 2)[match(SEQ, unique(SEQ))])
# SEQ ODDSEQ EVENSEQ
#1 1 1 2
#2 1 1 2
#3 1 1 2
#4 2 3 4
#5 2 3 4
#6 2 3 4
#7 3 5 6
#8 3 5 6
#9 3 5 6
#10 4 7 8
#11 4 7 8
#12 4 7 8