R 如何创建具有自己名称的新多项式变换变量
我想添加新的变量,这些变量将基于我所拥有的连续变量进行多项式变换。我知道如何手动操作R 如何创建具有自己名称的新多项式变换变量,r,loops,dataframe,R,Loops,Dataframe,我想添加新的变量,这些变量将基于我所拥有的连续变量进行多项式变换。我知道如何手动操作(dat$balls\u poly以下是操作方法: 按多项式顺序的第一种类型: poly_order <- 2 感谢@Matt74,是否有可能将旧名称添加为新数据帧的一部分?例如:将poly_1改为balls_1?是的,请参见其中的“poly_”-这是一个可以用“balls_”替换的字符串变量我的意思是,如果我能自动做到这一点,每个新变量将获得与之相关的旧变量名,并在每个变量的开头添加“poly_”?另外
(dat$balls\u poly以下是操作方法:
按多项式顺序的第一种类型:
poly_order <- 2
感谢@Matt74,是否有可能将旧名称添加为新数据帧的一部分?例如:将poly_1改为balls_1?是的,请参见其中的“poly_”
-这是一个可以用“balls_”替换的字符串变量我的意思是,如果我能自动做到这一点,每个新变量将获得与之相关的旧变量名,并在每个变量的开头添加“poly_”?另外,请您进一步解释一下“stats::poly(dat$balls,poly_order)”,如果有一个像“dat$balls”这样的直接短语,它如何应用于所有列。谢谢@Matt74I我不知道“应用于所有列”是什么意思,但在poly()
函数中,可以使用相同的[
符号,如下所示:myvar
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
dat[,paste0("poly_",1:poly_order)] <- stats::poly(dat$balls, poly_order)