Using tidyverse
你可能想要pivot_longer
所有变量来自Ratio.2h
to Pvalue_24h
, then separate
它分为 2 列。
library(tidyverse)
DF %>%
pivot_longer(Ratio.2h:Pvalue_24h, names_to = "var") %>%
separate(var, into = c("type", "time"), sep = "_|\\.")
# # A tibble: 8 x 5
# GeneID Gene.Symbol01 type time value
# <dbl> <chr> <chr> <chr> <dbl>
# 1 174 FUT Ratio 2h -0.236
# 2 174 FUT Ratio 6h -0.328
# 3 174 FUT Ratio 10h -0.137
# 4 174 FUT Ratio 24h -4.49
# 5 174 FUT Pvalue 2h 0.490
# 6 174 FUT Pvalue 6h 0.0613
# 7 174 FUT Pvalue 10h 0.600
# 8 174 FUT Pvalue 24h 0.000180
然后,使用将其更改回更宽的格式pivot_wider
DF %>%
pivot_longer(Ratio.2h:Pvalue_24h, names_to = "var") %>%
separate(var, into = c("type", "time"), sep = "_|\\.") %>%
pivot_wider(names_from = "type", values_from = "value")
# # A tibble: 4 x 5
# GeneID Gene.Symbol01 time Ratio Pvalue
# <dbl> <chr> <chr> <dbl> <dbl>
# 1 174 FUT 2h -0.236 0.490
# 2 174 FUT 6h -0.328 0.0613
# 3 174 FUT 10h -0.137 0.600
# 4 174 FUT 24h -4.49 0.000180
Data
DF <- tribble(~GeneID, ~Gene.Symbol01, ~Ratio.2h, ~Ratio.6h, ~Ratio.10h, ~Ratio.24h, ~Pvalue_2h,~Pvalue_6h, ~Pvalue_10h, ~Pvalue_24h,
174, "FUT", -0.23618761, -0.3276162, -0.1366940, -4.4899131, 0.49045105,0.06128851, 0.59995612, 0.0001798584)