如何检查列 ;是一个接一个在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