需要从R

时间:2016-05-31 10:57:06

标签: r

我有一个文本文件。它包含以下格式的大量文本:

  • 文本
  • 文本
  • 2016年12月12日格式的日期
  • 文本
  • 文本

如果在文件的文本部分中没有其他日期,我如何仅在这种情况下提取日期?需要一个R程序。

4 个答案:

答案 0 :(得分:0)

这样就可以了。您将获得解析的日期,而其余的将成为您可以过滤掉的NA对象。

text=c('a','b','12 December 2016','10 December 2015')

strptime(text,format='%d %B %Y')

答案 1 :(得分:0)

出于实用目的,我调用了您的数据集demo_set。 首先阅读数据集: demo_set=readLines(con <- file("yourFile.txt") #read in file.

您可以在数据集中使用其他阅读方式。 然后使用正则表达式查找包含月份名称的行。

demo_set[grep(pattern = paste(month.name,collapse = "|"),demo_set)]

答案 2 :(得分:0)

如果您的文字没有以数字开头,则可以使用以下代码

abc<- subset(abc, grepl("^[0-9]",name))

其中abc是您的数据框,而name是您数据框中的列

答案 3 :(得分:0)

您还可以使用if语句检查列中是否有任何值,例如Date,并将其打印到屏幕上,如此;

if(!is.na(data$date)) {
  print(data$date)
}

这将打印日期中有值的所有记录,但如果您只想要一个样本,请使用;

print(data$date[1:10])