[英]Remove rows from an R dataframe based on parts of a character variable
我有一個數據框,該數據框的第一列中有一個變量(類型:字符),某些行以“#”開頭。 但是變量中還有其他詞(讓我們說:“#AA”。我想刪除第一列變量以#開頭的行。我沒有找到一種方法。有什么建議嗎?
數據的示例為:
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)
謝謝。
嘗試在第一列中每個元素的開頭搜索字符,然后使用該索引進行子設置:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.