Как фильтровать фрейм данных, используя только базу R [дублировать]

Вы можете использовать ord и hex следующим образом:

  & gt; & gt; & gt; & gt;  s = 'some string' & gt; & gt; & gt; & gt; & gt;  hex_chars = map (hex, map (ord, s)) & gt; & gt; & gt; & gt; & gt;  print hex_chars ['0x73', '0x6f', '0x6d', '0x65', '0x20', '0x73', '0x74', '0x72', '0x69', '0x6e', '0x67'] & gt; gt  ; & GT;  hex_string = "" .join (c [2: 4] для c в hex_chars) & gt; gt; & gt; gt;  print hex_string 736f6d6520737472696e67 & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt;   

Или используйте встроенную кодировку:

  & gt; & gt; & gt; & gt;  s = 'some string' & gt; & gt; & gt; & gt; & gt;  print s.encode ('hex_codec') 736f6d6520737472696e67 & gt; & gt; & gt; & gt; & gt;   
50
задан Frankie 10 August 2010 в 03:39
поделиться

2 ответа

Вот два основных подхода. Я предпочитаю это для его удобочитаемости:

  bar & lt; - subset (foo, location == "there")  

Обратите внимание, что вы можете сгруппировать многие условные выражения с & amp; и | для создания сложных подмножеств.

Второй - подход индексации. Вы можете индексировать строки в R с помощью числовых или булевых фрагментов. foo $ location == "there" возвращает вектор значений T и F , которые имеют ту же длину, что и строки из foo . Вы можете сделать это, чтобы возвращать только строки, где условие возвращает true.

  foo [foo $ location == "there",]  
83
ответ дан JoFrhwld 15 August 2018 в 23:42
поделиться
  • 1
    . @ JoFrhwld - Не subset () не предпочтительный метод? Подробное обсуждение здесь – Chetan Arvind Patil 9 August 2017 в 16:56
  • 2
    Есть ли простой способ доступа к подмножеству и foo минус подмножество? Я хочу разбить свои данные на бар и (foo-bar). Очевидно, я мог бы повторить выше с помощью! =, Но есть ли один лайнер? – schoon 15 September 2017 в 06:37
1
ответ дан DryLabRebel 29 October 2018 в 06:16
поделиться
Другие вопросы по тегам:

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