В R: Как сгенерировать подмножество таблицы данных на основе ее общих элементов с двумя списками символов

Я должен добавить, как удивительный Дастин Диаз оценил это как его все 1 пользовательские функции JS. Это то, что он предложил для получения, установки и удаления файлов cookie:

function getCookie(name) {

  var start = document.cookie.indexOf(name + "=");

  var len = start + name.length + 1;

  if ((!start) && (name != document.cookie.substring(0, name.length))) {

    return null;

  }

  if (start == -1) return null;

  var end = document.cookie.indexOf(';', len);

  if (end == -1) end = document.cookie.length;

  return unescape(document.cookie.substring(len, end));

}



function setCookie(name, value, expires, path, domain, secure) {

  var today = new Date();

  today.setTime(today.getTime());

  if (expires) {

    expires = expires * 1000 * 60 * 60 * 24;

  }

  var expires_date = new Date(today.getTime() + (expires));

  document.cookie = name + '=' + escape(value) +

    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()

    ((path) ? ';path=' + path : '') +

    ((domain) ? ';domain=' + domain : '') +

    ((secure) ? ';secure' : '');

}



function deleteCookie(name, path, domain) {

  if (getCookie(name)) document.cookie = name + '=' +

    ((path) ? ';path=' + path : '') +

    ((domain) ? ';domain=' + domain : '') +

    ';expires=Thu, 01-Jan-1970 00:00:01 GMT';

}

см. http://www.dustindiaz.com / топ-десять Javascript

1
задан Zero 17 January 2019 в 11:09
поделиться

3 ответа

DT[`sample 1` %in% unlist(list(List1, List2))]
   sample 1 sample 2 N
1:        a        b 2
2:        c        c 1
3:        b        c 3
4:        c        d 2
5:        a        c 3

Данные

List1 = list('a', 'b')
List2= list('c')
DT <- fread(
"sample 1,  sample 2,  N
 a,         b,          2
 c,         c,          1
 b,         c,          3
 c,         d,          2
 a,         c,          3
 d,         f,          1
 d,         h,          3")
0
ответ дан sindri_baldur 17 January 2019 в 11:09
поделиться

Что-нибудь мешает вам объединить списки и затем отфильтровать результаты?

Например:

list <- c(unlist(List1), unlist(List2))
df <- filter(df, `sample 1` %in% list)
0
ответ дан user2602640 17 January 2019 в 11:09
поделиться

Мы можем использовать subset из base R

subset(df2, sample1 %in% unlist(c(List1, List2)))

данных

df2 <- structure(list(sample1 = c("a", "c", "b", "c", "a", "d", "d"), 
sample2 = c("b", "c", "c", "d", "c", "f", "h"), N = c(2L, 
1L, 3L, 2L, 3L, 1L, 3L)), class = "data.frame", row.names = c(NA, 
-7L))

List1 <- list('a', 'b')
List2 <- list('c')
0
ответ дан akrun 17 January 2019 в 11:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: