全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1924 2
2014-04-16
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

二维码

扫码加我 拉你入群

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

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

全部回复
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)
二维码

扫码加我 拉你入群

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

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

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")

复制代码


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?
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群