楼主: verbatim
1955 2

[问答] Help on which() to get row index number [推广有奖]

  • 1关注
  • 3粉丝

已卖:25份资源

博士生

5%

还不是VIP/贵宾

-

威望
0
论坛币
513 个
通用积分
2.0505
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3404 点
帖子
139
精华
0
在线时间
143 小时
注册时间
2006-12-1
最后登录
2020-1-30

楼主
verbatim 发表于 2014-4-16 03:24:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
which(DATA$TIME == 1946.667) doesn't work?!

DATA:

ID DOSE PED    AMT II ADDL CMT DAY     TIME    DV MDV EVID  AGP SEX AGE  WGT HGT      BMI      FFM      LBM FLAG VISIT NTM
1     2  2.6   5 1960.4 24   20   1   1    0.000    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     3   0
2     2  2.6   5 1960.4 24   19   1  22  504.000    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     4   0
3     2  2.6   5 1960.4 24   21   1  42  984.000    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     5   0
4     2  2.6   5 1960.4 24   16   1  64 1512.000    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     6   0
5     2  2.6   5 1960.4  0    0   1  81 1921.000    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7   0
6     2  2.6   5    0.0  0    0   2  82 1946.617  8.43   0    0 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7  -1
7     2  2.6   5 1960.4  0    0   1  82 1946.667    NA   1    1 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7   0
8     2  2.6   5    0.0  0    0   2  82 1947.667 11.71   0    0 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7   1
9     2  2.6   5    0.0  0    0   2  82 1950.667 14.65   0    0 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7   4
10    2  2.6   5    0.0  0    0   2  82 1953.667 13.10   0    0 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     7   7
11    2  2.6   5    0.0  0    0   2  84 2000.750  4.45   0    0 15.5   0   7 22.4 126 14.10935 19.38306 20.59457    0     8  48

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Number Index Which Help Ber records number failed result should

沙发
hugebear 发表于 2014-4-16 07:12:34
If 1946.667 exactly matches the number in original data frame, it of course should work.
The problem is probably 1946.667 is an abbreviated (rounded) version of the original entries.
try which(round(DATA$TIME, digits == 3) == 1946.667)

藤椅
verbatim 发表于 2014-4-16 07:45:27
Thank you very much!!! it works!

Why did you think 1946.667 is an abbreviated(rounded) version of the original entries, both looks same.

But when I tried the below code with dat:

dat = structure(list(C = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("", "C"), class = "factor"), ID = c(2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), DOSE = c(2.6, 2.6, 2.6,
2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6), PED = c(5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5), AMT = c(1960.4, 1960.4, 1960.4, 1960.4,
1960.4, 0, 1960.4, 0, 0, 0, 0), II = c(24L, 24L, 24L, 24L, 0L,
0L, 0L, 0L, 0L, 0L, 0L), ADDL = c(20L, 19L, 21L, 16L, 0L, 0L,
0L, 0L, 0L, 0L, 0L), CMT = c(1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L,
2L, 2L, 2L), DAY = c(1L, 22L, 42L, 64L, 81L, 82L, 82L, 82L, 82L,
82L, 84L), TIME = c(0, 504, 984, 1512, 1921, 1946.616667, 1946.666667,
1947.666667, 1950.666667, 1953.666667, 2000.75), DV = c(NA, NA,
NA, NA, NA, 8.43, NA, 11.71, 14.65, 13.1, 4.45), MDV = c(1L,
1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L), EVID = c(1L, 1L, 1L,
1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L), AGP = structure(c(18L, 18L,
18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L), .Label = c(".",
"10", "11", "11.25", "11.5", "11.75", "12.25", "12.5", "12.75",
"13", "13.5", "13.75", "14.25", "14.5", "14.75", "15", "15.25",
"15.5", "15.75", "16", "16.25", "16.75", "17", "17.5", "17.75",
"18", "18.25", "18.5", "18.75", "19", "20", "20.25", "20.5",
"21.25", "21.75", "22", "22.25", "22.75", "23.5", "23.75", "24.25",
"24.75", "25.5", "26.5", "26.75", "27", "29", "30", "31", "31.5",
"5", "9.25"), class = "factor"), SEX = c(0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L), AGE = c(7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L, 7L, 7L, 7L), WGT = c(22.4, 22.4, 22.4, 22.4, 22.4, 22.4,
22.4, 22.4, 22.4, 22.4, 22.4), HGT = c(126, 126, 126, 126, 126,
126, 126, 126, 126, 126, 126), BMI = c(14.10934744, 14.10934744,
14.10934744, 14.10934744, 14.10934744, 14.10934744, 14.10934744,
14.10934744, 14.10934744, 14.10934744, 14.10934744), FFM = c(19.38306197,
19.38306197, 19.38306197, 19.38306197, 19.38306197, 19.38306197,
19.38306197, 19.38306197, 19.38306197, 19.38306197, 19.38306197
), LBM = c(20.5945679, 20.5945679, 20.5945679, 20.5945679, 20.5945679,
20.5945679, 20.5945679, 20.5945679, 20.5945679, 20.5945679, 20.5945679
), FLAG = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), VISIT = c(3L,
4L, 5L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 8L), NTM = c(0L, 0L, 0L,
0L, 0L, -1L, 0L, 1L, 4L, 7L, 48L)), .Names = c("C", "ID", "DOSE",
"PED", "AMT", "II", "ADDL", "CMT", "DAY", "TIME", "DV", "MDV",
"EVID", "AGP", "SEX", "AGE", "WGT", "HGT", "BMI", "FFM", "LBM",
"FLAG", "VISIT", "NTM"), row.names = c(NA, 11L), class = "data.frame")

  1. SUBDOSE  = dat[,'AMT']>0
  2. DoseTime = dat[SUBDOSE,'TIME']
  3. AMTindices = which(DoseTime >= 0)
复制代码


how can I get index row number (1 2 3 4 5 7) of DoseTime (0.000  504.000  984.000 1512.000 1921.000 1946.667) from the dataset of dat?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 23:20