当我打印结果时,我在结果3列数据框中有一些数据:
results
TIMESTAMP SYMBOL_NAME "t.price"
1 2014-10-17 14:00:00 GOOG 400.25
注意""围绕t.price栏
当我访问t.price列时,它会返回null。
results$t.Price
NULL
当我做的时候
names(results)
我看到了
[1] "TIMESTAMP" "SYMBOL_NAME" "\"t.PRICE\""
你能告诉我发生了什么以及为什么""正在出现或我如何访问t.price?
答案 0 :(得分:3)
试试这个:
names(results) <- make.names( names(results) )
使用read.table
及其后代时应用的功能相同。
答案 1 :(得分:3)
您可以使用gsub
results
# TIMESTAMP SYMBOL_NAME "t.price"
# 1 2014-10-17 14:00:00 GOOG 400.25
results$t.price
# NULL
names(results)[3] <- gsub('\"', "", names(results)[3])
results$t.price
# [1] 400.25
为了安全起见,您可能希望在数据集的所有名称上运行它(只需删除[3]
)。
答案 2 :(得分:3)
无论数据框的来源是什么,t.Price列都会被引号括起来。这些反过来由\转义为\ as,否则“”将是0长度的字符串的结尾。
注释建议解决此问题的方法,您可以通过列的索引或重命名列来访问它,这可以通过分配名称来完成。
names(results) <- c("name1", "name2", "name3")