我正在尝试执行以下操作:
评估数据框中的 POSIXct 类列,如果观察是偶数秒,则什么也不做,如果是奇数秒,则加 1。
这是我到目前为止所拥有的:
df[,1] <- lapply(df[,1], function(x) ifelse(as.integer(x)%%2==0, yes = x, no = x+1))
此时我的计算机内存不足,可能是因为函数yes = x
中的ifelse
...但我不确定。
有没有更好的方法来解决这个问题?
注意:大约有 150,000 个 obs。
编辑: 这是我的数据示例:
Timestamp PSTC01 PSTC02 PSTC03 PSTC04 PSTC05 PSTC06 PSTC07 PSTC08 PSTC09 PSTC10 PSTC11
1 2013-09-02 23:56:02 0.225339 NA NA NA NA 0.222298 0.253884 NA 0.243435 NA NA
2 2013-09-02 23:56:32 0.220459 NA NA NA NA 0.220009 0.250797 NA 0.241659 NA NA
3 2013-09-02 23:57:02 0.218379 NA NA NA NA 0.216663 0.252008 NA 0.240208 NA NA
4 2013-09-02 23:57:32 0.218264 NA NA NA NA 0.215935 0.256784 NA 0.240165 NA NA
5 2013-09-02 23:58:02 0.222438 NA NA NA NA 0.220964 0.253382 NA 0.241622 NA NA
6 2013-09-02 23:58:32 0.222154 NA NA NA NA 0.222533 0.252455 NA 0.242187 NA NA
7 2013-09-02 23:59:02 0.223612 NA NA NA NA 0.226128 0.253611 NA 0.243376 NA NA
8 2013-09-02 23:59:32 0.221370 NA NA NA NA 0.225215 0.253617 NA 0.243793 NA NA
9 2013-09-06 00:00:01 0.268708 NA NA NA 0.207481 NA 0.277915 NA NA 0.241519 0.242069
10 2013-09-06 00:00:31 0.268708 NA NA NA 0.207481 NA 0.277915 NA NA 0.241519 0.242069
11 2013-09-06 00:01:01 0.265310 NA NA NA 0.218782 NA 0.269295 NA NA 0.236030 0.211069
12 2013-09-06 00:01:31 0.270377 NA NA NA 0.217813 NA 0.272507 NA NA 0.236714 0.219648
13 2013-09-06 00:02:01 0.271845 NA NA NA 0.213403 NA 0.271097 NA NA 0.236685 0.218460