В вашем коде происходит то, что вы не пытаетесь связать две строки вместе.Вы связываете пустую строку с 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 Вам редко приходится объявлять пустой фрейм данных.Я предполагаю, что вам нужен пустой фрейм данных для какого-то цикла действий, которые вы предпринимаете.