Избавление от нежелательных символов в числовом векторе - PullRequest
0 голосов
/ 18 сентября 2018
                 processor transistor_count     doi          designer   process    area
1        Intel 4004            2,300    1971             Intel 10,000 nm 12 mm²
2           Intel 8008            3,500    1972             Intel 10,000 nm 14 mm²
3           Intel 8080            4,500    1974             Intel  6,000 nm 20 mm²
4        Motorola 6800            4,100    1974          Motorola  6,000 nm 16 mm²
5             RCA 1802            5,000    1974               RCA  5,000 nm 27 mm²
6             TMS 1000            8,000 1974[7] Texas Instruments  8,000 nm    <NA>
7  MOS Technology 6502         3,510[8]    1975    MOS Technology  8,000 nm 21 mm²
8           Intel 8085            6,500    1976             Intel  3,000 nm 20 mm²
9            Zilog Z80            8,500    1976             Zilog  4,000 nm 18 mm²
10          Intel 8086           29,000    1978             Intel  3,000 nm 33 mm²
11       Motorola 6809            9,000    1978          Motorola  5,000 nm 21 mm²
12          Intel 8088           29,000    1979             Intel  3,000 nm 33 mm²
13      Motorola 68000           68,000    1979          Motorola  3,500 nm 44 mm²
14           WDC 65C02        11,500[9]    1981               WDC  3,000 nm  6 mm²

Здравствуйте, друзья! Я пытаюсь избавиться от некоторых символов в столбцах "transistor_count" и "doi", поскольку вы можете видеть, что есть эти "[x]", которые мешают мне сделатьэтот вектор "numeric" вектор оперирует над ним.Кроме того, у меня есть такие вещи, как "~" и некоторые другие символы в этом векторе.Как вы можете устранить это "[8]", не удаляя "8" из чисел, которые я хочу использовать.Кроме того, есть ли способ проверить, сколько таких проблемных символов и как они выглядят?

Я знаю, что могу использовать для этого gsub и заменить проблемные символы, которые я заметил таким образом, ноесли данные слишком велики, чтобы проверить по одномуЯ пытался использовать check.character(), но он даже не запускался.

1 Ответ

0 голосов
/ 18 сентября 2018

Проведите по интересующим столбцам, используйте sub для сопоставления с шаблоном [, за которым следуют одна или несколько цифр, затем закрывающая скобка ], замените ее пробелом ("")

df[c("transistor_count", "doi")] <- lapply(df[c("transistor_count", "doi")], 
                 function(x) sub("\\[\\d+\\]", "", x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...