2014-10-29 129 views
0

列增加的空間,我想更換「曲:」與「曲:」整個列。但是,下面的代碼犯規運行:(在數據幀的R中

emp = c('Min. :2014-07-17 00:00:00','1st Qu.:2014-07-17 00:00:00') 
df <- data.frame(emp) 

for (i in (1 : nrow(df))) { gsub("Qu.:", "Qu. :", df[i,1]) } 
+1

'sub'和'gsub'是矢量,所以怎麼樣'df $ emp < - sub( 「Qu .:」,「Qu。 :」 DF $ EMP)' – 2014-10-29 21:54:54

+0

您近端的問題是,你不更換任何東西,如果你想這樣做,你可以用'DF [1,1] <硬盤的方式 - GSUB(...)'英寸你的'for'循環 - 但@ RichardScriven的建議更好。 – 2014-10-29 21:55:54

回答

2

subgsub是矢量,所以沒有必要爲一個循環這給一試:

df$emp <- sub("Qu.:", "Qu. :", df$emp, fixed = TRUE) 

sub比賽,僅替換第一次出現,這是什麼好像你正在做該列的東西。它可以比gsub更高效,是比較合適的,如果你只匹配第一次出現。