下面是脚本
> library(sqldf)
> turnover = read.csv("turnover.csv")
> names(turnover)
[1] "Report.Date" "PersID" "Status" "DOB"
[5] "Age" "Tenure" "Current.Hire.Date" "Term.Date"
[9] "Gender" "Function" "Grade" "Job.Category"
[13] "City" "State" "Retiree" "Race"
> turnover_hiredate = sqldf("select Status, Current.Hire.Date from turnover")
我收到错误消息:没有这样的列:Current.Hire.Date。但这个变量被列为第七个变量。
我做错了什么?
无需更改列名称。
从 RSQLite 1.0.0 和 sqldf 开始,列名中没有 0.4-9 个点
不再翻译为下划线。https://code.google.com/p/sqldf/
我们只需要在之间写SQL语句即可单引号,以及包含点之间的列名称双引号 or 反引号/反引号可以互换。
两个例子:
require(sqldf)
# 1
turnover <- data.frame(Status = c("A", "B", "C"),
Current.Hire.Date = c("4/10/10", "13/11/10", "1/7/13"))
sqldf('select Status, "Current.Hire.Date" from turnover')
#2. Double quotes and backticks interchangeably
sqldf('select Species, avg("Sepal.Length") `Sepal.Length`,
avg("Sepal.Width") `Sepal.Width` from iris group by Species')
另一种实现解决方案的方法
#3 Using square brackets
sqldf('select Species, avg([Sepal.Length]) `Sepal.Length`,
avg([Sepal.Width]) `Sepal.Width` from iris group by Species')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)