如何删除此csv文件中包含某些字符串的行

时间:2019-06-23 16:45:42

标签: r rstudio

我正在读取的文件很大,并且整个文件中总是出现某些单词字符串。我只需要让它遍历文件并删除包含那些特定字符串/ NA的每一行。

我已经使用grep函数尝试删除字符串,但是它只删除了要显示的第一个字符串,其余的都没有。

from pyspark.ml.feature import VectorAssembler
cols=list(df)
cols1 = cols[:-1]
cols1
vectorAssembler = VectorAssembler(inputCols = cols1, outputCol = 'features')

我想摆脱我放在那里的那些特定字符串。

1 个答案:

答案 0 :(得分:1)

library(dplyr)

# simulate some data
set.seed(12345)
RAO <- data.frame(A = sample(c("Myers", "Provider", "NA", "JJ", "Stack","Overflow"), 50, replace=T),
              B = rnorm(50) )
head(RAO)
#          A          B
# 1    Stack  1.8050975
# 2 Overflow -0.4816474
# 3    Stack  0.6203798
# 4 Overflow  0.6121235
# 5       NA -0.1623110
# 6    Myers  0.8118732

# Remove rows where column A is one of Myers,Provider or NA
RAO %>% filter( !grepl ("Myers|Provider|NA", A))
#           A           B
# 1     Stack  1.80509752
# 2  Overflow -0.48164736
# 3     Stack  0.62037980
# 4  Overflow  0.61212349
# 5        JJ  2.04919034
# 6     Stack  1.63244564

或者如果A列中的值包含多个单词,并且您想要删除这些行(其中值以这3个单词之一开头),则可以在{{1}中的正则表达式中添加“ ^”符号}函数:grepl