2017-06-28 53 views
0

這裏是一個1列的數據幀期間行級不列級別轉換:一個dplyr鏈

x <- c(" [CAD] TRAFF-S", "[CAD] SUSP-A ", " [CAD] CRASH", "[CAD] TRAFF-S ", "[CAD] PARKING") 
x <- data.frame(x) 
> x 
       x 
1 [CAD] TRAFF-S 
2 [CAD] SUSP-A 
3  [CAD] CRASH 
4 [CAD] TRAFF-S 
5 [CAD] PARKING 

我想要去除空白和從qdap包看着修剪。

問題是我想使用Trim()和其他函數從qdap輸入期望的矢量而不是數據框。通常情況下,由於預處理,矢量長度可能會發生變化,因此重新將預處理矢量重新添加到原始df將會很困難,因爲長度會有所不同。

在示例數據中有一些空白。

嘗試:

> dat.p <- x %>% Trim 
> dat.p 
[1] "c(2, 4, 1, 5, 3)" # I don't understand what this is doing 

什麼是一個dplyr鏈中遍歷每一行X以適當的方式?換句話說,有沒有一種「dplyr esque」的方式來做到這一點?我希望變量x最終具有相同的格式,在轉換結束時具有相同數量的行和列的1列df。

回答

0

你必須mutatex,並且可以使用timws功能,從base R:

library(dplyr) 

dat.p <- x %>% 
    mutate(x = trimws(x, 'both')) 

dat.p 
#    x 
# 1 [CAD] TRAFF-S 
# 2 [CAD] SUSP-A 
# 3 [CAD] CRASH 
# 4 [CAD] TRAFF-S 
# 5 [CAD] PARKING