gpt4 book ai didi

r - 在sqldf中将数字转换为字符

转载 作者:行者123 更新时间:2023-12-05 04:15:38 26 4
gpt4 key购买 nike

我正在尝试使用 sqldf 命令连接 R 中数据框的 2 列。但是,它将它们视为数字并将它们相加。我看着 solution到关于 stackoverflow 的类似问题,但它仍然对我不起作用。

这是我的 DF 的样子:

SP1  SP2
521 526
521 523

我想要的是:

SP
521-526
521-523

我尝试了以下方法:

sqldf("select  SP1 + '-' + SP2 as SP from DF")

我也试过:

DF2 <- transform(DF, SP1 = as.character(SP1), SP2 = as.character(SP2)))
sqldf("select SP1 + '-' + SP2 as SP from DF2")

在这两种情况下,我得到的结果都是

SP
1047
1044

有什么想法吗?

最佳答案

虽然这将在 SQL Server 中工作,但您必须使用 || 而不是 + 因为 sqldf 很可能使用 SQLite后端:

R> sqldf::sqldf(
"SELECT SP1 || '-' || SP2 AS SP
FROM df;"
)
SP
1 521-526
2 521-523

数据:

df <- read.table(
text = "SP1 SP2
521 526
521 523",
header = TRUE
)

关于r - 在sqldf中将数字转换为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657729/

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