在 R 中按 data.frame 的变量排列数据?
Arrange data by variables of a data.frame in R?
我写下了下面的脚本来获取longer format
中的数据。我如何通过 variables
而不是 Date
获得 data.frame
arrange
?这意味着首先我应该为所有 dates
获取 Variable A
的数据,然后是 Variable X
.
library(lubridate)
library(tidyverse)
set.seed(123)
DF <- data.frame(Date = seq(as.Date("1979-01-01"), to = as.Date("1979-12-31"), by = "day"),
A = runif(365,1,10), X = runif(365,5,15)) %>%
pivot_longer(-Date, names_to = "Variables", values_to = "Values")
也许我不明白wrigth,但是你可以通过arrange()
函数根据变量列来排列你的数据。
library(tidyverse)
DF <- DF %>%
arrange(Variables)
结果
# A tibble: 730 x 3
Date Variables Values
<date> <chr> <dbl>
1 1979-01-01 A 3.59
2 1979-01-02 A 8.09
3 1979-01-03 A 4.68
4 1979-01-04 A 8.95
5 1979-01-05 A 9.46
6 1979-01-06 A 1.41
7 1979-01-07 A 5.75
8 1979-01-08 A 9.03
9 1979-01-09 A 5.96
10 1979-01-10 A 5.11
# ... with 720 more rows
我错过了什么吗?就是这个。
arrange (DF,Variables,Date) %>% select(Variables,everything())
在base R
中,我们可以使用
DF1 <- DF[order(DF$Variables),]
我写下了下面的脚本来获取longer format
中的数据。我如何通过 variables
而不是 Date
获得 data.frame
arrange
?这意味着首先我应该为所有 dates
获取 Variable A
的数据,然后是 Variable X
.
library(lubridate)
library(tidyverse)
set.seed(123)
DF <- data.frame(Date = seq(as.Date("1979-01-01"), to = as.Date("1979-12-31"), by = "day"),
A = runif(365,1,10), X = runif(365,5,15)) %>%
pivot_longer(-Date, names_to = "Variables", values_to = "Values")
也许我不明白wrigth,但是你可以通过arrange()
函数根据变量列来排列你的数据。
library(tidyverse)
DF <- DF %>%
arrange(Variables)
结果
# A tibble: 730 x 3
Date Variables Values
<date> <chr> <dbl>
1 1979-01-01 A 3.59
2 1979-01-02 A 8.09
3 1979-01-03 A 4.68
4 1979-01-04 A 8.95
5 1979-01-05 A 9.46
6 1979-01-06 A 1.41
7 1979-01-07 A 5.75
8 1979-01-08 A 9.03
9 1979-01-09 A 5.96
10 1979-01-10 A 5.11
# ... with 720 more rows
我错过了什么吗?就是这个。
arrange (DF,Variables,Date) %>% select(Variables,everything())
在base R
中,我们可以使用
DF1 <- DF[order(DF$Variables),]