Как заменить символ другим, даже если символ не совпадает точно в R? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть такой фрейм данных

Subject     Stimulation     GATA3
A             NO stim       GATA3 149
B             1100-2        GATA3 1
C             BSV18         GATA3 100

Я хотел бы сделать две вещи:

  1. Заменить все, что имеет GATA3 в 1 и
  2. Сохраните GATA3, как оно есть в имени столбца, то есть имена столбцов должны быть «Subject», «Stimulation» и «GATA3».

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Мы можем использовать grep, чтобы создать индекс, в котором элементы 'GATA3' присутствуют в 'GATA3', и назначить его на основе этого индекса

i1 <- grep("GATA3", df1$GATA3)
df1$GATA3[i1] <- 1 

ПРИМЕЧАНИЕ. ФП хотел заменить только определенныестроки столбца, а не весь столбец

0 голосов
/ 12 февраля 2019

Вы можете использовать grepl в сочетании с as.integer для этого:

# Building a data frame
Subject = c('A', 'B', 'C')
Stimulation = c('NO stim', 1100-2, 'BSV18')
GATA3 = c('GATA3 149', 'GATA3 1', 'GATA3 100')
df = data.frame(Subject, Stimulation, GATA3)

# Converting using grepl and as.integer 
df$GATA3 = as.integer(grepl(pattern = 'GATA3', x = df$GATA3))

# Checking results
head(df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...