簡體   English   中英

更改數據框中的值 r studio

[英]changing values in the data frame r studio

我現在很掙扎,如果有人能幫助我解決我的碩士論文的問題,那就太好了。

我有一個巨大的數據框,因為心率是以秒為單位測量的。 細節:

  • 我有 4 個時間點(時間點 0、時間點 1、時間點 2 和時間點 3)。
  • 時間點 1 到 3 各包含 661 行(每個時間點 661 秒)。
  • 時間點 0 僅引用一行,但問題是它從秒 1 而不是秒 0 開始。

我想要的是,時間點 0 顯示秒 0,時間點 1 顯示秒 1,依此類推 為了更好地理解,這里有兩個表格顯示了舊版本和我想要的所需版本(不在 excel 中,但在 r 工作室中):

舊版本,這是現在的樣子

想要的版本,這就是我想要的

Atm 我只能用 TS_0 = 0 替換時間點 0 的 TS_0 = 1,但之后我無法使用df$TS_0[df$TS_0 == 1] <- 0, df$TS_0[df$TS_0 == 2] <- 1手動更改每一行df$TS_0[df$TS_0 == 1] <- 0, df$TS_0[df$TS_0 == 2] <- 1等等...

我的問題是,是否有將 TS_0 = 1 更改為 0 with timepoint = 0 以便以下所有行自動更改?

感謝您的幫助:謝謝 :)

不確定這里TS_0的格式是什么,我用一個簡單的 1 列 data.table 進行演示,它是字符串。

dt <- data.table(
  TS_0 = c("1 second", paste(3:10, "seconds"))
)

dt[, TS_0 := duration(TS_0) - 1][, timepoint := as.numeric(TS_0) - shift(as.numeric(TS_0), fill = 0L, type = "lag")]

dt

#    TS_0 timepoint
# 1:   0s         0
# 2:   2s         2
# 3:   3s         1
# 4:   4s         1
# 5:   5s         1
# 6:   6s         1
# 7:   7s         1
# 8:   8s         1
# 9:   9s         1
  1. 當你把它設為持續時間時,你可以輕松地減去 1 以從 0 開始。
  2. 您使用滯后計算的時間點(請注意,我在示例中跳過了 1s 行,因此我們在那里得到 2 而不是 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM