簡體   English   中英

我想使用for循環在R數據框中添加多個列

[英]I want to add multiple columns in my R dataframe using for loop

我想添加名稱為day2,day3到day19的列,我嘗試了此代碼,但無法正常工作

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"

很高興為您提供新手幫助。

請嘗試以下:

library(TTR);
data(ttrc);

# Assume mydata is ttrc    
mydata = ttrc;

# SMA for 5 days - you can also loop it
n = paste("day",5,sep="")

# To assign to mydata use !!
mydata = mutate(mydata,!!n := SMA(Close,5) )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM