Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在循环中迭代时,strtime返回NA值_R_Format_Strptime - Fatal编程技术网

在循环中迭代时,strtime返回NA值

在循环中迭代时,strtime返回NA值,r,format,strptime,R,Format,Strptime,我正在遍历包含16.csv文件的目录,并使用以下代码将其与另一个文件(df1)进行比较: d1 <- read.csv(file.choose("C:/Me/MyFileLocation)) df1 <- as.data.frame(d1) # this is where I use strptime for df1 files <- Sys.glob("*.csv") for (i in files) { df2 <- as.data.frame(read.csv

我正在遍历包含16.csv文件的目录,并使用以下代码将其与另一个文件(df1)进行比较:

d1 <- read.csv(file.choose("C:/Me/MyFileLocation))
df1 <- as.data.frame(d1)
# this is where I use strptime for df1

files <- Sys.glob("*.csv")
for (i in files) {
  df2 <- as.data.frame(read.csv(i, header = FALSE))
  # this is where I use strptime for df2

当我运行代码时,
df2
总是返回整个
Time
列的NA值,因此我不能按
Time
合并两个数据帧。我不认为这是一个格式问题,因为我制作了一个单独的脚本,手动输入了
df2
中的一些日期,并使用了相同的
格式(strtime())
函数并成功返回。所以我认为,无论出于什么原因,这在循环中都不起作用。有人能解释为什么会发生这种情况以及如何解决它吗?将
Time
列转换为class字符也没有帮助。

可能错误在这里,
df2所有列的标题都正确!我只是没有包括那部分代码。你是用excel创建输入的.csv文件吗?是的,它们是用excel创建的啊,excel喜欢把.csv中的日期时间弄乱。尝试转到输入文件,将时间列的格式设置为“mm/dd/YYYY HH:mm”,然后保存。保存后,退出excel,并在它再次要求您保存更改时说“否”。基本上,您需要确保excel的输入格式与程序所需的格式相同。
  df1$Time <- format(strptime(df1$Time, "%m/%d/%Y  %I:%M:%S %p"), format = "%m/%d/%Y %H:%M")
  df2$Time <- format(strptime(df2$Time, "%m/%d/%Y  %I:%M %p"), format= "%m/%d/%Y %H:%M")