簡體   English   中英

重塑R中不同時間長度的數據

[英]Reshaping data of different time lengths in R

我想對數據進行多次重復測量。 首先,我需要將數據框從寬格式重塑為長格式。

這是我的數據框:

    ID Group x1  x2  x3  y1  y2  y3  z1  z2
    144 1   566 613 597 563 549 562 599  469
    167 2   697 638 756 682 695 693 718  439.5
    247 4   643 698 730 669 656 669 698  514.5
    317 4   633 646 641 520 543 586 559  405.5
    344 3   651 678 708 589 608 615 667  514
    352 2   578 702 671 536 594 579 591  467.5
    382 1   678 690 693 555 565 534 521  457.5
    447 3   668 672 718 663 689 751 784  506.5
    464 2   760 704 763 514 554 520 564  486
    628 1   762 789 783 618 610 645 625  536

您可能會注意到,我在三個時間點測量了變量x和y,在兩個點測量了變量z。 考慮到我有單獨的時間長度,我想知道將數據整形為長格式是否有意義。

我無法這樣做。 因此,首先,以這種方式這樣做是否有意義? 還是應該制作兩個數據框? 第二,如果有道理,怎么辦?

編輯:我希望像這樣:

ID Group Timex  Timey Timez  x    y    z
144 1     1       1     1   566  563  599
144 1     2       2     2   613  549  469
144 1     3       3         597  562
167 2     1       1     1   697  682  718
167 2     2       2     2   638  695  439.5 
167 2     3       3         756  693
....

但是我什至不確定擁有這些空單元是否完全有意義?

這是一個主意。 dt_all是最終輸出。 請注意,此示例未創建TimexTimeyTimez ,但我認為一個稱為Time列已足夠,單獨的TimexTimeyTimez是多余的。

# Load packages
library(dplyr)
library(tidyr)

# Process the data
dt_all <- dt %>%
  gather(Var, Value, -ID, -Group) %>%
  mutate(Time = sub("[a-z]", "", Var), Type = sub("[0-9]", "", Var)) %>%
  select(-Var) %>%
  spread(Type, Value)

資料准備

# Create example data frames
dt <- read.table(text = "ID Group x1  x2  x3  y1  y2  y3  z1  z2
    144 1   566 613 597 563 549 562 599  469
                 167 2   697 638 756 682 695 693 718  439.5
                 247 4   643 698 730 669 656 669 698  514.5
                 317 4   633 646 641 520 543 586 559  405.5
                 344 3   651 678 708 589 608 615 667  514
                 352 2   578 702 671 536 594 579 591  467.5
                 382 1   678 690 693 555 565 534 521  457.5
                 447 3   668 672 718 663 689 751 784  506.5
                 464 2   760 704 763 514 554 520 564  486
                 628 1   762 789 783 618 610 645 625  536",
                 header = TRUE)

暫無
暫無

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

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