gpt4 book ai didi

r - 如何创建具有自己名称的新多项式变换变量

转载 作者:行者123 更新时间:2023-12-04 11:54:21 25 4
gpt4 key购买 nike

我想添加新变量,这些变量将根据我拥有的连续变量进行多项式变换。我知道如何手动完成 (dat$balls_poly<-poly(dat$balls,2)但是我该如何处理 100 多个变量呢?

dat <- read.table(text = " category balls sticks shirts
yes 3 9 7
no 3 8 4
no 1 2 8
yes 1 2 3
yes 1 8 3
no 6 1 2
yes 6 7 1
no 6 1 5
yes 5 9 7
no 3 8 7
no 4 2 7
yes 1 2 3
yes 7 6 3
no 6 1 1
yes 6 3 9
no 6 1 1 ",header = TRUE)

编辑:我应用了这行代码:

dat[,paste0("poly_",1:poly_order)] <- stats::poly(dat$balls, poly_order)

得到这个输出:

 dat
category balls sticks shirts poly_1 poly_2
1 yes 3 9 7 -0.124409488 -0.33739571
2 no 3 8 4 -0.124409488 -0.33739571
3 no 1 2 8 -0.358592053 0.22632756
4 yes 1 2 3 -0.358592053 0.22632756
5 yes 1 8 3 -0.358592053 0.22632756
6 no 6 1 2 0.226864360 0.03981688
7 yes 6 7 1 0.226864360 0.03981688
8 no 6 1 5 0.226864360 0.03981688
9 yes 5 9 7 0.109773077 -0.24896031
10 no 3 8 7 -0.124409488 -0.33739571
11 no 4 2 7 -0.007318205 -0.37469784
12 yes 1 2 3 -0.358592053 0.22632756
13 yes 7 6 3 0.343955643 0.49163375
14 no 6 1 1 0.226864360 0.03981688
15 yes 6 3 9 0.226864360 0.03981688
16 no 6 1 1 0.226864360 0.03981688

我想知道我是否可以得到这个输出(为了显示简单只显示第一行):

 dat
category balls sticks shirts poly_balls poly_stics poly_shirts
1 yes 3 9 7 9 81 49

最佳答案

方法如下:

首先按多项式的顺序输入:

poly_order <- 2

然后使用 [ 而不是 $ 分配新列。因为 paste0 是矢量化的,所以它会添加与多项式一样多的列。

dat[,paste0("poly_",1:poly_order)] <- stats::poly(dat$balls, poly_order)

关于r - 如何创建具有自己名称的新多项式变换变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840333/

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