如何检查列 ;是一个接一个在r吗?

如何检查列 ;是一个接一个在r吗?,r,dataframe,sequence,R,Dataframe,Sequence,我有一个名为mydata(5x2000141)的dataframe,它有一个名为target\u ID(数字)的列,该列为与结果R(数字)相关联的单个date(日期)标识一个ID(字符)target\u ID对于该特定日期中的ID是唯一的。 注: ID在数据帧中重复多次(相同的ID在不同日期测量) 日期对于不同的ID可以相同 每个target\u ID、ID和date都有1748个条目N,每个条目都有相关的结果“R” 这就是我的数据框mydata的外观: N 目标识别码 身份证件 日期 R

我有一个名为
mydata
(5x2000141)的
dataframe
,它有一个名为
target\u ID
(数字)的列,该列为与结果
R
(数字)相关联的单个
date
(日期)标识一个
ID
(字符)
target\u ID
对于该特定
日期中的
ID
是唯一的。 注:

  • ID
    在数据帧中重复多次(相同的
    ID
    在不同日期测量)
  • 日期对于不同的ID可以相同
  • 每个
    target\u ID
    ID
    date
    都有1748个条目
    N
    ,每个条目都有相关的结果“R”
这就是我的数据框
mydata
的外观:

N 目标识别码 身份证件 日期 R 1. 1. a1 2011-04-12 1. 2. 1. a1 2011-04-12 1. 3. 1. a1 2011-04-12 3. .... .. .. .... .. 1748 1. a1 2011-04-12 5. 1749 2. a2 2011-04-12 5. 1750 2. a2 2011-04-12 2. ... .. .. .... .. 3495 2. a2 2011-04-12 2. 3496 2. a2 2011-04-12 4. .... .. .. .... .. 384560 292 p5 2012-03-09 9 384561 292 p5 2012-03-09 9 .... .. .. .... .. 386306 292 p5 2012-03-09 1. 386307 292 p5 2012-03-09 3. 386308 293 t1 2012-03-09 3. .... .. .. .... ..
一个想法是:构建一个所需的序列,与您的
mydata
进行比较,例如:

df <- data.frame(target_ID = rep(1:292,each = 1748))
bench.ID <- rep(1:292, each = 1748)
identical(df$target_ID,bench.ID)

df使用相同的单列:

df <- data.frame(target_ID = rep(1:292,each = 1748))
一致长度测试:

length(which(rle(df$target_ID)$lengths == 1748))
[1] 292
cgwtools
软件包中的
seqle
是对
rle
的一个很好的补充,该软件包提供了长度\值输出,但不针对序列。除了确认特征(是否为升序)外,将rle和Sekle索引与
逻辑相结合,这可能会使您获得几乎唯一的值

length(which(rle(df$target_ID)$lengths == 1748))
[1] 292