t(apply(df, 1, function(x) names(df)[as.logical(x)][1:length(x)]))
[,1] [,2]
[1,] "Brand1" "Brand2"
[2,] "Brand2" NA
[3,] "Brand1" "Brand2"
[4,] "Brand1" NA
[5,] "Brand2" NA
Данные :
df <- structure(list(Brand1 = c(1L, 0L, 1L, 1L, 0L), Brand2 = c(1L,
1L, 1L, 0L, 1L)), row.names = c(NA, -5L), class = "data.frame")
Похоже, что Вы пытаетесь выбрать элементы из тех, Вы уже выбрали (нахождение в объекте jQuery).
Контекст, насколько jQuery затронут, похож на определение родителя - контекст является узлом где-нибудь ВЫШЕ ТОГО, что Вы ищете в дереве DOM. Контекст - то, где jQuery будет искать селектор, Вы указали.
Если я корректен о том, что Вы пытаетесь сделать затем, это должно работать:
row.filter('.program');
// And then:
row.filter('.program').find('.title');
Вы находитесь на правильном пути с потомками. Передающий контекст к селектору ищет всех потомков, найденных в том контексте.
В Вашем случае, так как объект не является "родителем, содержащим две строки", а скорее "набор строк", .program не можно выбрать. Так как .title является фактическим потомком в Вашем наборе, это можно выбрать.
Мое понимание - то, что контекст должен быть корневым уровнем т.е. родителем, в котором Вы хотите сделать свой выбор.
Править: Теперь сделав некоторое чтение, необходимо смочь соответствовать высокоуровневым элементам контекста (контекст по умолчанию document
).
Beardscratchers имеет хорошую статью об использовании контекста с селекторами jQuery. В целом необходимо попытаться передать идентификатор элемента, поскольку контекст для jQuery перенес набор, поскольку это - самый производительный способ определить местоположение элемента.
Внутренне, селекторный контекст реализован с .find
метод, таким образом, $(selector, context)
эквивалентно $(context).find(selector)
Вы несомненно можете соответствовать высокоуровневым элементам. Мы могли видеть источник, который Вы используете? Ваш код должен работать, таким образом, существует, вероятно, проблема в самом HTML.