【发布时间】:2021-07-18 14:52:47
【问题描述】:
我目前正在开展一个项目,我正在尝试计算各种数据,但是,我正在使用的 CSV 文件在列中有异常。它包含格式为“%d/%m/%y”的日期,后跟一个字符串。
这在整个列中重复(列是无标题的,以防万一),我目前试图实现的是将整个列中的日期替换为只保留剩余的字符串。
我目前的做法是使用 gsub 函数,如下所示:
gsub(".[/]|[/]|[[:digit:]].", " ", dataset column)
这似乎最初可以工作,但是在运行 head 命令时,它似乎仅将其应用于前 6-7 个字段,其余字段显示为 NA 值。
如果我正在处理包含 3000 多个条目的列,或者实现此目的的代码背后的逻辑有问题,那么 GSub 函数是否有任何限制。
这里是用于代码的示例数据:
structure(list(V1 = c("3/3/2005Mitsubishi", "3/4/2006Jaguar",
"13/2/2007Land Rover", "12/12/2009Ferrari", "4/4/2008Jeep", "3/3/2005Honda"
), V2 = c("Mitsubish", "Jaguar", "Land Rover", "Ferrari", "Jeep",
"Honda")), row.names = c(NA, 6L), class = "data.frame")
【问题讨论】:
-
请与
dput(head(data))分享您的数据的可重现样本。 -
感谢您的快速回复。这是
dput(head(data))structure(list(V1 = c("3/3/2005Mitsubishi", "3/4/2006Jaguar", "13/2/2007Land Rover", "12/12/2009Ferrari", "4/4/2008Jeep", "3/3/2005Honda" ), V2 = c("Mitsubish", "Jaguar", "Land Rover", "Ferrari", "Jeep", "Honda")), row.names = c(NA, 6L), class = "data.frame")的数据输出