% roww-6ren">
gpt4 book ai didi

r - 如何在保持列名顺序的同时扩展 tidyr::spread()?

转载 作者:行者123 更新时间:2023-12-04 03:09:30 27 4
gpt4 key购买 nike

在使用spread函数时,如何在保持数字排名的情况下进行扩容?

library(tidyverse)

data.frame(time = paste0("t_", 1:100)) %>%
rowwise() %>%
mutate(rnd = sample(1:100, size=1)) %>%
spread(time, rnd)

上面代码执行结果的列名是t_1, t_11, t_100, ....。我想按数字顺序获取列名 (t_1, t_2, t_3, ...)。

最佳答案

你可以尝试两件事:

(1) 将“时间”作为一个因素,其级别与您想要的顺序相匹配:

data.frame(time = factor(paste0("t_", 1:100), levels = paste0("t_", 1:100))) %>% 
rowwise() %>%
mutate(rnd = sample(1:100, size=1)) %>%
spread(time, rnd)

(2) 使用 select 语句强制排序:

data.frame(time = paste0("t_", 1:100)) %>% 
rowwise() %>%
mutate(rnd = sample(1:100, size=1)) %>%
spread(time, rnd) %>%
select(paste0("t_", 1:100))

关于r - 如何在保持列名顺序的同时扩展 tidyr::spread()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com