我做了一個非常基本的循環,並且如果語句條件函數但每次將變量「words」中的每個第二個元素與向量輸入「t」匹配時,我想要完全刪除該匹配元素。R:從向量中刪除元素時出錯
matching <- function (t, words){
for (i in 1:length(t)) {
if (t[i] == words[2]){
t[i] <- NULL
}
}
t
}
但如果我輸入的東西像t <- c("Where", "is", "the", "money", "here")
並調用與匹配功能(T,C( 「是」, 「中」)),該函數休息。 「t [i]中的錯誤< - NULL:替換長度爲零」 如何解決此問題?我希望得到的輸出與
[1] "Where" "is" "money" "here"
,基本上我想它對於任何輸入我投入到這個功能工作.. 此外,我想找到沒有使用像刪除特殊功能的方式()或類似的東西這..
編輯:沒有的grep,粘貼,GSUB,刪除等..無特殊R的功能和
爲什麼'is'被包含在輸出?它應該刪除'is'和'''權利?也許像't [!grepl(paste(word,collapse =「|」),t)]或'grep(paste(word,collapse =「|」),t,invert = T,value = T) ? –
你想刪除'文字'中的第二個元素嗎?應該「保持原樣」,只有「」應該被刪除? –
是的,只有文字中的第二個元素。 「是」應該保持不變。 – oooooooooooooo