gpt4 book ai didi

r - R中的语法问题

转载 作者:行者123 更新时间:2023-12-03 08:05:47 25 4
gpt4 key购买 nike

我的数据集说data123的列为Order.No,date,transactions等。我正在使用sqldf做数据透视,下面是代码

Pivot123=sqldf("Select Order.No,Date,Month,Year,Category from data123")
运行此功能时,出现以下错误
Error: near "Order": syntax error
是什么原因?我重新检查,但列名正确
提前致谢

最佳答案

Table.ColumnName约定在这里困扰您。由于我推断Order.No是列名,因此将您的问题更改为以下一项:

sqldf("Select [Order.No],Date,Month,Year,Category from data123")
sqldf('Select "Order.No",Date,Month,Year,Category from data123') # note the shift from ' to "
前提是您要告诉SQL引擎 Order.No是标识符(完整名称),不要用普通的点符号格式分隔。有两种常见的引用标识符的方式: [Order.No]"Order.No"。单引号方法仅标识字符串文字,因此 'Order.No'不起作用(尝试并查看)。
一个很好的例子使用了一种通用技术:分配一个(通常较短的)别名,当表名很长时特别有用:
#         the alias is used here
# vvv. vvv. vvv. vvv. vvv.
sqldf("Select tb1.[Order.No], tb1.Date, tb1.Month, tb1.Year, tb1.Category
from data123 tb1")
# ^^^ this is the alias
这并不总是必需的,但是有必要的时候是当您从多个表中查询并且它们共享列名时。
最后,您可以选择“引用”所有列名,这没有害处:
sqldf("Select [Order.No], [Date], [Month], [Year], [Category] from data123")

关于r - R中的语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64034320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com