本文介绍了将第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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 11:18