2016-09-14 99 views
0

我想第一次使用R,想要做一些看起來相當簡單但沒有太多成功的事情。gsub返回數字矩陣而不是替換字符串

我有以下的數據幀enter image description here

我'嘗試使用只保留日期列Review.LastUpdate.Date.Time:

gsub("T[0-9]{2}\:[0-9]{2}\:[0-9]{2}Z", "", DataFrameName) 

我敢肯定它應該工作,但數據框架保持不變,控制檯充滿了看起來像是滿是數字的矩陣......(抱歉,我無法更準確地描述它,我不知道這是什麼)。看起來是這樣的:

[1] "c(1,1,1,1,1, \n, 1,1,1,1,1,\n)" 
+3

您正在將'gsub'應用於整個數據集而不是列。您的代碼的修改將是'gsub(「T [0-9] {2} \\:[0-9] {2} \\:[0-9] {2} Z」,「」,DataFrameName [ [2]])' – akrun

+1

,你需要分配結果 – Cath

+5

http://stackoverflow.com/questions/32051184/replacing-the-specific-values-in-columns-of-data-frame-using-gsub-in -r –

回答

1

如果我們需要從數據集(「DF1」)

as.Date(df1[[2]]) 

注意的第二列中提取的「日期」部分:這是不是更好使用正則表達式對datetime對象

1

要定位第八欄:

gsub("T[0-9]{2}:[0-9]{2}:[0-9]{2}Z","",DataFrameName[[8]]) 

的GSUB功能只是回報提取的值。需要將它們分配到「DataFrameName」列:

DataFrameName$Review.Last.Update.Date.and.Time <- gsub("T[0-9]{2}:[0-9]{2}:[0-9]{2}Z","",DataFrameName[[8]]) 
相關問題