私はいくつかの列を持つデータフレームを持っています。奇数列には時系列、偶数列にはデータが含まれます。データフレームの特定の列に時間を追加する方法
time1.in.s <- seq(0.010, 100, length.out = 100)
time2.in.s <- seq(0.022, 100, length.out = 100)
data1 <- seq(-10, 100, length.out = 100)
data2 <- seq(-25, 80, length.out = 100)
my.df <- data.frame(time1.in.s, data1, time2.in.s, data2)
(現実には、もっと列があります)。
今、奇数列は相対的な秒数です。
私はすべての時間の値に与えられた開始時間を追加したい:
start.time <- strptime("2016-11-22_15-44-24",
format = "%Y-%m-%d_%H-%M-%S",
tz = "UTC")
私は奇数列を選択する方法を知っている:
odd.indexes <- seq(1, ncol(my.df), 2)
をしかし、相対的に開始時間を追加します回、私が...動作しません
my.df[, odd.indexes] <- start.time + my.df[, odd.indexes]
を...ナイーブ何かをした:
また、二項演算子に 非数値引数:
start.time + my.dfでエラー[、odd.indexes]警告メッセージ:互換性のない方法 ( "+ .POSIXt"、 "Ops.data.frame")for "+"
どのようにするには?また、(あなたが何をしているかのわずかな修正を)動作するはずです私たちは列をループする必要があり、その後、+
my.df[, odd.indexes] <- lapply(my.df[, odd.indexes], `+`, start.time)