我在這裏搜索高低,以及嘗試重複和獨特的功能爲我要問,但不能得到任何工作。假設我有一個名爲company的數據框,其狀態是可變的。當我在狀態變量觀察一個崩潰我留下的行與此輸出:刪除單元格中的重複條目 - R
PA;PA;PA;TX;TX
我怎麼能去除細胞內的DUP(爲此事整個矢量),所以它看起來如下:
PA;TX
我沒有問題,刪除重複行,但似乎無法做到這一點的細胞本身。
我在這裏搜索高低,以及嘗試重複和獨特的功能爲我要問,但不能得到任何工作。假設我有一個名爲company的數據框,其狀態是可變的。當我在狀態變量觀察一個崩潰我留下的行與此輸出:刪除單元格中的重複條目 - R
PA;PA;PA;TX;TX
我怎麼能去除細胞內的DUP(爲此事整個矢量),所以它看起來如下:
PA;TX
我沒有問題,刪除重複行,但似乎無法做到這一點的細胞本身。
本工程爲一個字符串:
x <- "PA;PA;PA;TX;TX"
x2 <- strsplit(x, ";")
x3 <- unlist(x2)
x4 <- unique(x3)
x5 <- paste(x4, collapse = ";")
如果你想這樣做對整個矢量company$state
,你可以滾所有成一個呼叫sapply
:
sapply(company$state, function(x) paste(unique(unlist(strsplit(x, ";"))), collapse = ";"))
感謝ulfelder!第一部分工作正常,但是當我嘗試將其應用於向量時,出現以下錯誤:strsplit(x,「;」)中的錯誤:非字符參數。任何想法這裏發生了什麼? – DCRubyHound
當你嘗試在字符串以外的東西上運行'strsplit'時,出現非字符參數的事情,比如數據框或矩陣。你嘗試過'sapply'版本嗎? – ulfelder
是的,那是當我收到錯誤。 – DCRubyHound
你需要按行來做這件事?也許提供一個例子,說明你的數據幀實際上看起來像 –
如果字符串是'PA; TX; PA; TX'?一樣? –
似乎更好的想法是從原始數據框中刪除多餘的行。 – Joe