我有这个小题:
tibble(Cor = c("Linear", "Rank"),
`a,b` = c("x1","x2"),
`b,c` = c("x3","x4")
)
Run Code Online (Sandbox Code Playgroud)
我想把它转变成这个小标题:
tibble(Cor = c("a,b","b,c"),
Linear = c("x1","x3"),
Rank = c("x2","x4")
)
Run Code Online (Sandbox Code Playgroud)
有没有一个 tidyverse 简单命令可以做到这一点?
tidyr我们可以使用'spivot_longer和分两步完成pivot_wider:
df %>%
pivot_longer(-Cor) %>%
pivot_wider(names_from = Cor, values_from = value)
Run Code Online (Sandbox Code Playgroud)
我们可以用data.table::transpose
as_tibble(data.table::transpose(dat, make.names = 'Cor', keep.names = 'Cor'))\n # A tibble: 2 \xc3\x97 3\n Cor Linear Rank \n <chr> <chr> <chr>\n1 a,b x1 x2 \n2 b,c x3 x4 \nRun Code Online (Sandbox Code Playgroud)\ndat <- tibble(Cor = c("Linear", "Rank"),\n `a,b` = c("x1","x2"),\n `b,c` = c("x3","x4")\n)\nRun Code Online (Sandbox Code Playgroud)\n