- 729 名前:132人目の素数さん mailto:sage [2013/01/12(土) 03:32:35.10 ]
- >>728
宿題じゃないよね? > a <- scan(text="0001 201201 201103 201003 52 33 34 + 0002 201203 NA NA 22 NA 3 + 0003 201103 201001 200901 32 2 73 + 0004 201003 200905 200804 98 87 88 + 0005 NA NA NA NA NA NA + 0006 201105 201102 201009 NA 32 55") Read 42 items > b <- data.frame(t(matrix(a, ncol = 6))) > names(b) <- c("コード", paste0("日付", 1:3), paste0("データ", 1:3)) で、ヒントは次の通り。 > m <- ((b[, 2:4] > 201101) & (b[, 2:4] & b[, 5:7])) * b[, 2:4] > m[(m == 0)] <- NA > i <- apply(m, 1, which.max) > unlist(sapply(1:length(i), function(j){ifelse(length(i[j][[1]]) == 0, NA, (b[j, 5:7])[i[j][[1]]])})) [1] 52 22 32 NA NA 32 > unlist(sapply(1:length(i), function(j){ifelse(length(i[j][[1]]) == 0, NA, (b[j, 2:4])[i[j][[1]]])})) [1] 201201 201203 201103 NA NA 201102
|

|