Мне понадобится код R, который сообщает мне, были ли значения в каждой строке размещены в алфавитном и числовом порядке для каждой строки. Под алфавитным порядком я подразумеваю сравнение ячеек в каждом столбце строки, начиная с первой ячейки до последней. Пример алфавитного_строка = c(A61B, H01J, H03B, G01Q).
row1 <- c("G01N 23/20", "G01N 23/203", "G01Q 30/00", "G01Q 30/04", "G01Q 30/18", "H01J 37/252", "H01J 37/252")
row2 <- c("G01S 7/38", "G01S 7/38", "H03B 21/00", "H03B 21/02", NA, NA, NA)
row3 <- c("A61B 8/00", "A61B 8/00", "G01S 7/52", "G01S 7/52", NA, NA, NA)
df <- data.frame(rbind(row1, row2, row3))
Результат, который я ищу, - это новый столбец с TRUE, если значения в строке упорядочены, или FALSE, если значения не упорядочены для каждой строки.
Однако начнем с первых 4 цифр:
row1 <- c("G01N", "G01N", "G01Q", "G01Q", "G01Q", "H01J", "H01J")
row2 <- c("G01S", "G01S", "H03B", "H03B", NA, NA, NA)
row3 <- c("A61B", "A61B", "G01S", "G01S", NA, NA, NA)
df <- data.frame(rbind(row1, row2, row3))
Желаемый результат:
df <- data.frame(cbind(df, c(TRUE, TRUE, TRUE)))
в этом случае вывод будет: ЛОЖЬ, ЛОЖЬ, ИСТИНА, потому что только строка 3 находится в алфавитном порядке, от ячейки 1 (A61B) до ячейки 4 (G01S).
row1
вcol1
...) - person Gregor Thomas   schedule 18.01.2018G01N 23/20
стоит передG01N 23/203
по алфавиту и численно, если/
является частью строки, но после него, если мы рассматриваем/
как деление. Но деление не имеет смысла, потому что у вас есть30/00
позже, и вы не можете делить на 0. - person Gregor Thomas   schedule 18.01.2018G01N < G01Q < H01J
.N
предшествуетQ
, аG
предшествуетH
. Почему ваш результатFALSE
? Строка 2 также в алфавитном порядке, потому чтоG
стоит передH
. - person Gregor Thomas   schedule 18.01.2018