gpt4 book ai didi

将列重命名为 Y X1 X2 X3 X4 .. XN

转载 作者:行者123 更新时间:2023-12-02 00:13:13 26 4
gpt4 key购买 nike

我有一些数据,例如:

data(iris)

我想重命名列,使 Species 成为 Y 变量,所有 其他变量成为预测变量。

我目前所拥有的并没有给我想要的结果。

iris %>%
select(Species, everything()) %>% # move the Y variable to the "front"
rename(Y = 1) %>%
rename_at(vars(2:ncol(.)), ~ paste("X", seq(2:ncol(.)), sep = ""))

预期的输出将是 colnames:

Y, X1, X2, X3, X4, X5... XN

最佳答案

出了什么问题

您的代码中的错误在于它假定第二个 .(在匿名函数中)是一个 tibble,而实际上它实际上是一个字符 矢量。因此,ncol(.) 是不合适的,而应该是 length(.)。此外,不需要 seq() 并根据您请求的输出,它应该从 1 开始。最后,您可以使用:

iris %>%
select(Species, everything()) %>%
rename(Y = 1) %>%
rename_at(vars(2:ncol(.)), ~ paste("X", 1:length(.), sep = ""))

其他答案提供了表达此操作的替代方式。一个可能更干净的版本是

iris %>%
select(Species, everything()) %>%
rename(Y = 1) %>%
rename_with(~ str_c("X", seq_along(.)), -1)

关于将列重命名为 Y X1 X2 X3 X4 .. XN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58141748/

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