繁体   English   中英

为什么我从Alteryx R工具获得不同的输出

[英]Why am I getting different output from the Alteryx R tool

我使用Alteryx R工具签署亚马逊http请求。 为此,我需要包含在摘要包中的hmac函数。

我正在使用包含密钥和日期戳的文本输入工具。

Key= "foo"
datastamp= "20120215"

这是问题所在。 当我运行以下脚本时:

the.data <- read.Alteryx("1", mode="data.frame")
write.Alteryx(base64encode(hmac(the.data$key,the.data$datestamp,algo="sha256",raw = TRUE)),1)

与运行以下内容时相比,我得到的结果不正确:

write.Alteryx(base64encode(hmac("foo","20120215",algo="sha256",raw = TRUE)),1)

不同之处在于,当我对键和对象的值进行硬编码时,我得到了正确的结果。 但是如果使用R数据框中的变量,我得到的输出不正确。

数据框是否会以某种方式改变数据。 在使用Alteryx的R工具时,有没有人遇到过这种情况。

感谢您的输入。

问题似乎是在创建数据框时,您的角色变量将转换为因子。 使用data.frame构造函数修复此问题的方法是

the.data <- data.frame(Key="foo", datestamp="20120215", stringsAsFactors=FALSE)

我没有使用过read.Alteryx但我认为它有类似的方法来实现这一点。

或者,如果您的数据框已经创建,则可以将因子转换回字符:

write.Alteryx(base64encode(hmac(
    as.character(the.data$Key),
    as.character(the.data$datestamp),
    algo="sha256",raw = TRUE)),1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM