r - 我想使用 for 循环在我的 R 数据框中添加多个列
问题描述
我想添加名称为第 2 天、第 3 天到第 19 天的列我尝试了此代码,但它不起作用
for(i in 2:19)
{
n=paste("day",i,sep="")
mydata<-mutate(mydata,n=SMA(Price,i))
}
我将列名作为 n 而不是 n 的值
解决方案
假设您的 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"