这可能是一个快速修复!我试图将向量的第 i 个位置放入数据框列名称中。我正在尝试使用 Paste0 输入第 i 个数字。
sma <- 2:20
> sma
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# Place i number from sma vector to data frame column name
spx.sma <- df$close.sma.paste0("n", sma[i])
列名称应为:
"close.sma.n2"
如果我打印
paste0("n", sma[i])
我得到:
> paste0("n", sma[i])
[1] "n2"
所以实际上,如果我将其粘贴到我的数据框列名称中,那么它应该显示为:
close.sma.n2
实现这一目标的正确方法是什么?
我实现了错误:
> spx.sma <- df$close.sma.paste0(".n", sma[i])
Error: attempt to apply non-function
您应该将数据框视为列表。因此,请避免使用“$”运算符,而使用 [[]]。
so:
spx.sma <- df[[paste0("close.sma.n", sma[i])]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)