下面显示了我拥有的数据帧的示例。请注意,我的数据框中有许多其他列,我的数据类型是给定列的“字符”。
Time
NA, 2017-07-24 04:13:00
2017-07-24 07:01:12
NA, 2017-07-24 05:18:00
2017-07-24 05:00:45, NA
NA, 2017-07-24 19:44:30, NA
我希望删除所有“NA”,逗号和空格(“NA”和时间之间的空格)。因此,我需要的结果如下。
Time
2017-07-24 04:13:00
2017-07-24 07:01:12
2017-07-24 05:18:00
2017-07-24 05:00:45
2017-07-24 19:44:30
提前感谢您的帮助!
答案 0 :(得分:2)
这应该这样做:
your_data$better_time = gsub(
pattern = "NA, |, NA",
replacement = "",
x = your_data$Time)
pattern = "NA, |, NA"
是一个与NA,
或, NA
匹配的正则表达式。
答案 1 :(得分:0)
来自str_extract
的{{1}}的另一个选项。这提取了所需的内容,而不是删除不需要的内容:
stringr
备注:强>
library(stringr)
df = df %>%
mutate(Time = str_extract(Time, "\\d.+\\d"))
匹配数字
\\d
匹配任何字符一次或多次。这种匹配是贪婪的,这意味着它将搜索与模式匹配的最长字符串
.+
匹配一个数字后跟任何字符一次或多次和一个数字。
<强>结果:强>
\\d.+\\d
数据:强>
Time
1 2017-07-24 04:13:00
2 2017-07-24 07:01:12
3 2017-07-24 05:18:00
4 2017-07-24 05:00:45
5 2017-07-24 19:44:30