首页 > 解决方案 > 我想使用 for 循环在我的 R 数据框中添加多个列

问题描述

我想添加名称为第 2 天、第 3 天到第 19 天的列我尝试了此代码,但它不起作用

for(i in 2:19)
{
    n=paste("day",i,sep="")
    mydata<-mutate(mydata,n=SMA(Price,i))
}

我将列名作为 n 而不是 n 的值

标签: rfor-loop

解决方案


假设您的 data.frame 是 xdf

xnew <- paste("day", 1:19, sep="")
xdf[,c(xnew)] <- 0  # column type will be numeric. change to "" if you wish to make character
names(xdf)

你会得到这个

[1] "myid"  "myday" "myvol" "day1"  "day2"  "day3"  "day4"  "day5"  "day6"  "day7"  "day8"  "day9"  "day10" "day11" "day12" "day13" "day14" "day15" "day16"
[20] "day17" "day18" "day19"

推荐阅读