我想创建一个循环,将新变量添加到数据框中。这些变量应该是现有变量的简单二次形式。在下面的示例中,我想要三个新变量:dat$birds_2 <- dat$birds^2
;dat$wolfs_2 <- dat$wolfs^2
;dat$snakes_2 <- dat$snakes^2
。我希望一次性对多个变量执行此操作。
dat <- read.table(text = " birds wolfs snakes
3 9 7
3 8 4
1 2 8
1 2 3
1 8 3
6 1 2
6 7 1
6 1 5
5 9 7
3 8 7
4 2 7
1 2 3
7 6 3
6 1 1
6 3 9
6 1 1 ",header = TRUE)
所需输出(
dat_new
)如下(仅显示前两行): dat_new birds wolfs snakes birds_2 wolfs_2 snakes_2
3 9 7 9 81 49
3 8 4 9 64 16
dat$birds_2<-dat$birds^2; dat$wolfs_2<-dat$wolfs^2 ; dat$snakes_2<-dat$snakes^2
,您将在dat
中看到3个新变量,它们是相应变量的平方值。这里不需要使用loop
或apply
函数,^
已向量化。 - Cathdat$birds_2[1]==dat$birds[1]^2
等等,你应该在问题中添加所需的输出。 - Cath