我如何使用 R 更改我的 table
How can I use R to change my table
使用 R 我将如何更改我的 table:
GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3
到表示总列的table,例如
GeneName Human Mouse Chicken
FGF1 6 3 3
您可以使用 dplyr::spread
从长到宽整形:
library(tidyverse);
df %>%
select(GeneName, Species, Total) %>%
spread(Species, Total)
# GeneName Chicken Human Mouse
#1 FGF1 3 6 3
示例数据
df <- read.table(text =
"GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3", header = T)
您可以使用 data.table
中的 dcast()
。
对于输入:
text <-
"GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3"
my_data <- read.table(text = text, header = TRUE)
您可以使用 GeneName
将数据转换为 LHS
,将 Species
转换为 RHS
使用 value.var
Total
:
data.table::dcast(my_data,
GeneName ~ Species,
value.var = "Total")
结果:
GeneName Chicken Human Mouse
1 FGF1 3 6 3
使用 R 我将如何更改我的 table:
GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3
到表示总列的table,例如
GeneName Human Mouse Chicken
FGF1 6 3 3
您可以使用 dplyr::spread
从长到宽整形:
library(tidyverse);
df %>%
select(GeneName, Species, Total) %>%
spread(Species, Total)
# GeneName Chicken Human Mouse
#1 FGF1 3 6 3
示例数据
df <- read.table(text =
"GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3", header = T)
您可以使用 data.table
中的 dcast()
。
对于输入:
text <-
"GeneID GeneName Species Paralogues Domains Total
1234 FGF1 Human 4 2 6
5678 FGF1 Mouse 2 1 3
9104 FGF1 Chicken 3 0 3"
my_data <- read.table(text = text, header = TRUE)
您可以使用 GeneName
将数据转换为 LHS
,将 Species
转换为 RHS
使用 value.var
Total
:
data.table::dcast(my_data,
GeneName ~ Species,
value.var = "Total")
结果:
GeneName Chicken Human Mouse
1 FGF1 3 6 3