] Поиск списка позиций в многомерной структуре (массиве) [

] [

] Предположим, у меня есть простая многомерная структура, подобная этой: [

] [
somestr<-array(sample.int(2, 120, replace=TRUE), dim=c(4,5,6))
] [

] Я ищу все позиции в структуре (в данном случае массив), где значение равно, скажем, для моего примера 2. Обратите внимание, что структура может также содержать символы или логические элементы. На данный момент достаточно просто найти все значения равно заданному, но было бы неплохо распространить эту идею на любую логическую функцию, которая может быть применена к каждому элементу в структуре (это позволило бы, например, использовать [] is.na []). [

] [

] Я хотел бы получить матрицу ([] integer []) с таким количеством столбцов, сколько [] somestr [] имеет размерности (в данном случае 3) и столько же строк (зависит от sample.int вызов выше) a s есть значения, равные заданному значению (2). Значения в этой новой матрице являются «координатами» в пределах [] somestr [], где значения равны 2. [

] [

] Я прошу прощения за смешивание моего примера с объяснением, но я надеялся, что так будет понятнее . Для записи: я могу создать это сам (возможно, даже ответить на свой вопрос), но я надеялся на стандартизированное решение (читай: готовая функция в каком-то пакете) или попутно изучил новые трюки. [

] [

] Итак, вкратце, можете ли вы написать функцию [

] [
posOf<-function(somestr, valueToCompareTo)
] [

], которая возвращает матрицу позиций в [] somestr [], равную [] valueToCompareTo [], и если [] valueToCompareTo [] является функции, позиции в [] somestr [], для которых применение этой функции возвращает [] ИСТИНА []. [

]
6
задан Nick Sabbe 26 August 2011 в 12:04
поделиться