2015-11-24 2 views
0

У меня есть кадр данных, который имеет в первом столбце переменную (тип: символ), а некоторые строки начинаются с «#». Но есть и другие слова в переменной (скажем: «# AA». Я хочу удалить строки, в которых переменная первого столбца начинается с #. Я не нахожу способ сделать это. Любые предложения?Удаление строк из фрейма данных R на основе частей символьной переменной

пример данных будет:

mydata = as.data.frame(matrix(sample(c("AA", "AB", "BA", "BB", "--"), 7200, replace = T), 
+      nrow = 600, ncol = 12)) 
mydata$V1 = as.character(mydata$V1) 
mydata$V1 = ifelse(mydata$V1 == "AA", "# AA",mydata$V1) 
head(mydata) 

Благодаря

ответ

3

Попробуйте выполнить поиск символа в начале каждого элемента в первом столбце, а затем Подменю с этим индексом:.

head(mydata[-grep("^#", mydata$V1),]) 
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 
# 2 -- BB AB -- -- BB AB AB AA BB AA BB 
# 3 AB BB AB AB -- -- BA AA AA BB BB AA 
# 4 -- AA AB BB BA BB AB BA BA AB -- BB 
# 5 AB BA AB BA BB AB BA BB BB AA BB BA 
# 6 BA AA -- AB BB -- BA BB AB AB BB -- 
# 7 AB BA BA AA BB BB BA BB AA BB BB BA 
+0

Также можно проверить равенство против подстроки (x, 1,1) – Frank

+0

, которая также будет работать –

Смежные вопросы