2016-11-10 60 views
-2

我有一個Tibble,我想從中刪除前四個字母。我無法做到。我試過substr()substring(),但它們傾向於合併所有行。忽略R中的前四個字符

這裏是我的數據:

dput(a) 
structure(list(value = c("ABC-EFGH-1234IJK-45K", "IJK-LOKK-TIU" 
)), .Names = "value", row.names = c(NA, -2L), class = c("tbl_df", 
"tbl", "data.frame")) 

預期輸出:

"EFGH-1234IJK-45K" 
"LOKK-TIU" 

這裏是我的嘗試:

嘗試#1:

substr(as.data.frame.array(a),4,nchar(as.data.frame.array(a))) 

,但輸出是:

"t(`c(\"ABC-EFGH-IJK\", \"IJK-LOKK-TIU\")` = 1:2)" 

嘗試#2:

stringr::str_sub((as.data.frame.array(a)),start = 4, end = nchar((as.data.frame.array(a)))) 

輸出是:

"t(`c(\"ABC-EFGH-IJK\", \"IJK-LOKK-TIU\")` = 1:2)" 

我會很感激的任何幫助。

+5

工作,爲什麼地球上'as.data.frame.array'? –

+1

你不是這個意思嗎?'substr($ value,5,nchar($ value))'? – phiver

+0

哦,是的,我忘了將它轉換爲原子矢量。爲此事道歉。 – watchtower

回答

1

這應該爲你

substr(a$value,5,nchar(a$value))