本文介绍了将第i个向量编号插入数据框列名称-R的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这可能是一个快速修复!我正在尝试将向量的第i个位置放入数据框列名称中.我正在尝试使用paste0输入第i个数字.
This is likely a quick fix! I am trying to place the ith position of my vector into my data frame column name. I am trying to use paste0 to enter the ith number.
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"
因此,如果真的将其粘贴到数据框列名称中,则它应显示为:
So really if i paste this into my data frame column name then it should read:
close.sma.n2
实现此目的的正确方法是什么?
What is the correct method to achieve this?
我遇到了错误:
> spx.sma <- df$close.sma.paste0(".n", sma[i])
Error: attempt to apply non-function
推荐答案
您应将数据框视为列表.因此,请避免使用"$"运算符,而应使用[[]].
You should treat the dataframe as a list. So avoid the "$" operator and instead use [[]].
如此:
spx.sma <- df[[paste0("close.sma.n", sma[i])]]
这篇关于将第i个向量编号插入数据框列名称-R的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!