Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 标识在数据帧中复制的行_R_Dataframe_Replication - Fatal编程技术网

R 标识在数据帧中复制的行

R 标识在数据帧中复制的行,r,dataframe,replication,R,Dataframe,Replication,请参见下面我正在使用的数据集: index d1_t1 d1_t2 d1_t3 d1_t4 d2_t1 d2_t2 d2_t3 d2_t4 d3_t1 d3_t2 d3_t3 d3_t4 d4_t1 d4_t2 d4_t3 d4_t4 d5_t1 d5_t2 d5_t3 d5_t4 d6_t1 d6_t2 d6_t3 d6_t4 101 1 1 1 1 1 1 1 1 1 1 1 1

请参见下面我正在使用的数据集:

  index d1_t1 d1_t2 d1_t3 d1_t4 d2_t1 d2_t2 d2_t3 d2_t4 d3_t1 d3_t2 d3_t3 d3_t4 d4_t1 d4_t2 d4_t3 d4_t4 d5_t1 d5_t2 d5_t3 d5_t4 d6_t1 d6_t2 d6_t3 d6_t4
   101     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
   200     1     1     1     1     1     1     0     0     1     1     1     0     1     1     1     1     1     1     1     1     1     1     0     0
   200     1     1     1     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
   101     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  d7_t1 d7_t2 d7_t3 d7_t4
    1     1     1     1
    1     1     0     0
    1     1     1     1
    1     1     1     1
变量的简短解释:

d1t1=Day 1 time 1
d1t2=Day 1 time 2
....
d2t1=Day2 time 1
d2t2=Day2 time 2
0,1=在特定时间进行的不同类型的测量

我想确定一周内具有类似测量值的序列

输出:

  index d1_t1 d1_t2 d1_t3 d1_t4 d2_t1 d2_t2 d2_t3 d2_t4 d3_t1 d3_t2 d3_t3 d3_t4 d4_t1 d4_t2 d4_t3 d4_t4 d5_t1 d5_t2 d5_t3 d5_t4 d6_t1 d6_t2 d6_t3 d6_t4 d7_t1 d7_t2 d7_t3 d7_t4
1   101     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1
样本数据:

    df<-structure(list(index=c (101,200,200,101), d1_t1 = c(1, 1, 1, 1),
                   d1_t2 = c(1, 1, 1, 1), 
                   d1_t3 = c(1, 1, 1, 1), 
                   d1_t4 = c(1, 1, 0,  1),
                   d2_t1 = c(1, 1, 1, 1), 
                   d2_t2 = c(1, 1, 1, 1), 
                   d2_t3 = c(1, 0, 1 ,1), 
                   d2_t4 =c(1,0,1,1),
                   d3_t1 = c(1, 1, 1, 1),
                   d3_t2 = c(1, 1, 1, 1), 
                   d3_t3 = c(1, 1, 1, 1), 
                   d3_t4 = c(1, 0, 1,  1),
                   d4_t1 = c(1, 1, 1, 1), 
                   d4_t2 = c(1, 1, 1, 1), 
                   d4_t3 = c(1, 1, 1 ,1), 
                   d4_t4 =c(1,1,1,1),
                   d5_t1 = c(1, 1, 1, 1),
                   d5_t2 = c(1, 1, 1, 1), 
                   d5_t3 = c(1, 1, 1, 1), 
                   d5_t4 = c(1, 1, 1,  1),
                   d6_t1 = c(1, 1, 1, 1), 
                   d6_t2 = c(1, 1, 1, 1), 
                   d6_t3 = c(1, 0, 1 ,1), 
                   d6_t4 =c(1,0,1,1),
                   d7_t1 = c(1, 1, 1, 1), 
                   d7_t2 = c(1, 1, 1, 1), 
                   d7_t3 = c(1, 0, 1 ,1), 
                   d7_t4 =c(1,0,1,1)), row.names = c(NA,4L), class = "data.frame")
                                                            
df

df一个
dplyr
选项可以是:

df %>%
 group_by_all() %>%
 filter(n() > 1 & row_number() == 1)

A
数据表
选项:

library(data.table)

setDT(df)[, .I[.N > 1], by = names(df)]
这将给您留下一个
V1
附加列,您当然可以删除它或执行以下操作:

setDT(df)

df[df[, .I[.N > 1], by = names(df)]$V1, ]
如果每个系列只需要一行,可以将最后一个调用包装到
unique