小编Fly*_*yto的帖子

R - 使用HHMMSS格式将日期和时间字段转换为POSIXct

我有一个数据文件,其中有三列:

20010101 000000  0.833
20010101 000500  0.814
20010101 001000  0.794
20010101 001500  0.772
...
Run Code Online (Sandbox Code Playgroud)

人眼相当清楚,前两个是日期和时间.我需要将它们转换为POSIXct(如果它更好的话,还是其他的东西,但我在R中处理时间戳的有限经验是使用POSIXct).通常情况下,使用read.table将其拉入,我会使用:

df$DateTime <- as.POSIXct(paste(df$Date, df$Time), format="%Y%m%d %H%M%S")
Run Code Online (Sandbox Code Playgroud)

但是,第二列似乎失去了它的前导零(可能通过类型强制?),因此它无法正常工作.

我看合并日期整数和时间因素POSIXct中的R转换日期和时间数据的两列一个,但两者都使用时间带分隔符,如:,所以不要有同样的问题.

如何将这些列转换为POSIXct,好吗?

datetime r posixct

12
推荐指数
1
解决办法
4万
查看次数

在MATLAB中将大型数组直接写入磁盘时,是否需要预先分配?

我需要编写一个太大的数组,以适应.mat二进制文件的内存.这可以通过该matfile功能实现,该功能允许随机访问磁盘上的.mat文件.

通常,接受的建议是预分配数组,因为在循环的每次迭代中扩展它们都很慢.但是,当我问如何做到这一点时,我发现在写入磁盘而不是RAM时这可能不是一个好建议.

将打同样的性能不断增长的阵列应用,并且如果是这样,会是显著的时候相比,它需要写入到磁盘的时间呢?

(假设整个文件将在一个会话中写入,因此严重文件碎片的风险很低.)

performance file-io matlab large-data dynamic-arrays

12
推荐指数
1
解决办法
1707
查看次数

R : 如何从 SpatialPointsDataFrame 写入 XYZ 文件?

我有一个 SpatialPointsDataFrame,它有一个属性(为了方便起见,我们称之为 z)以及纬度/经度坐标。

我想把它写到一个 XYZ 文件(即一个包含三列的 ASCII 文件)。

最初我试过

write.table(spdf, filename, row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)

但这首先在每一行上写入 z 值,然后是坐标。所以它是 ZXY 格式而不是 XYZ。也许没什么大不了的,但对于必须使用该文件的其他人来说很烦人。

目前,我正在使用一种感觉非常可怕的 bodge 来执行此操作(如下所示),但我的问题是:是否有一种很好且直接的方法可以将 SPDF 写为 XYZ,并且列的顺序正确?似乎应该很容易!

感谢您的任何建议。

博奇:

dfOutput <- data.frame(x = coordinates(spdf)[,1], y = coordinates(spdf)[,2])
dfOutput$z <- data.frame(spdf)[,1]
write.table(dfOutput, filename, row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)

r spatial

5
推荐指数
1
解决办法
2352
查看次数

使用除零之外的内容在MATLAB matfile中预分配大型数组

我需要编写一个太大的数组,以适应.mat二进制文件的内存.这可以通过matfile命令完成,该命令允许随机访问光盘上的.mat文件.

我正在尝试在此文件中预分配数组,并且MathWorks博客推荐的方法是

matObj = matfile('myBigData.mat','Writable',true); 
matObj.X(10000,10000) = 0;
Run Code Online (Sandbox Code Playgroud)

这可行,但留下了大量的零 - 这是有风险的,因为我将填充它的一些真正的值也可能为零.对于较小的阵列,我通常会这样做

smallarray = nan(20,20);
Run Code Online (Sandbox Code Playgroud)

但是如果我为大型数组尝试这种方法,我会得到一个"内存不足"的错误; 可能这个nan()函数NaN首先在内存中产生大量的s.

如何使用除零之外的其他内容预先分配大型数组?

arrays matlab large-data

5
推荐指数
1
解决办法
700
查看次数