r - 使用 rbind 将数据作为列而不是 r 中的行添加到数据帧
问题描述
我想将此数据作为行而不是列添加到我的数据框中。
df = data.frame('symbol'= character(0), 'price_last'= integer(0),
'Momentum_Index'= integer(0))
symbol = 'ABC'
price_last = 219
Momentum_Index = 96
df <- rbind(df,symbol,price_last,Momentum_Index)
df 将数据显示为列而不是行。我究竟做错了什么?
解决方案
您的代码中发生的事情是您没有尝试将两行绑定在一起。您正在用 3 个不同的对象绑定一个空行。rbind
猜测这些对象是同一列的一部分,因为没有一个对象具有列名属性(因此它们应该进入的列是 NA),并且您最终会得到同一列中的所有内容。
df = data.frame('symbol'= character(0), 'price_last'= integer(0),
'Momentum_Index'= integer(0))
symbol = 'ABC'
price_last = 219
Momentum_Index = 96
df <- rbind(df,symbol,price_last,Momentum_Index)
# c..ABC....219....96..
# 1 ABC
# 2 219
# 3 96
相反,您需要将要绑定的数据采用行格式,其中每列数据都有一个列名属性:
df1 = data.frame('symbol'= character(0), 'price_last'= integer(0),
'Momentum_Index'= integer(0))
df2 = df = data.frame('symbol'= 'ABC', 'price_last'= 219,
'Momentum_Index'= 96)
df <- rbind(df1,df2)
# symbol price_last Momentum_Index
# 1 ABC 219 96
您的代码还有一个最后一个问题在这里不会成为问题,但这将成为您将来的问题。您正在使用左引号'<object>'
而不是右引号。在您的情况下,您可以将单引号从列名中去掉,也可以将左引号更改为右引号。如果您要尝试在列名中使用空格命名列,例如my column name = character()
. 右侧引号位于波浪号 (~) 键上方。
更正确的引用示例:
df1 = data.frame(symbol= character(0), price_last= integer(0),
Momentum_Index= integer(0))
df1 = data.frame(`symbol`= character(0), `price_last`= integer(0),
`Momentum_Index`= integer(0))
PS 你很少需要声明一个空的数据框。我将假设您需要空数据框来执行您正在执行的某种循环操作。
推荐阅读
- git - 查找源代码控制下包含在 .gitignore 中的所有文件
- python - 在本地化页面中删除缓存的问题
- android - android.widget.SelectionActionModeHelper$TextClassificationHelper.init (SelectionActionModeHelper.java:974)
- python - 任何人都知道使用python获取instagram帖子网址的方法(不是图片或视频的网址,而是整个帖子)
- python - 删除了 python 并尝试使用 WSL 重新安装它但无法
- mongodb - 如何从 mongo 集合中的数组属性中删除元素
- flutter - 如何将 Flutter speech_to_text 依赖项用于英语以外的语言。例如:阿姆哈拉语(埃塞俄比亚当地语言)
- python - Pip 包(钟摆 2.1)安装失败并出现 FileNotFoundError
- php - Woocommerce 订阅:更改付款方式应该有 0 订阅费
- regex - 字符串的正则表达式,并且不能在某个位置包含数字