首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到与Alteryx工具不同的输出?

为什么我得到与Alteryx工具不同的输出?
EN

Stack Overflow用户
提问于 2015-06-27 13:57:55
回答 1查看 1.1K关注 0票数 1

我使用Alteryx工具来签署amazon请求。为此,我需要包含在摘要包中的hmac函数。

我正在使用一个文本输入工具,其中包括键和日期戳。

代码语言:javascript
复制
Key= "foo"
datastamp= "20120215"

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

代码语言:javascript
复制
the.data <- read.Alteryx("1", mode="data.frame")
write.Alteryx(base64encode(hmac(the.data$key,the.data$datestamp,algo="sha256",raw = TRUE)),1)

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

代码语言:javascript
复制
write.Alteryx(base64encode(hmac("foo","20120215",algo="sha256",raw = TRUE)),1)

区别在于,当我硬编码键和对象的值时,我得到了正确的结果。但是,如果使用R数据帧中的变量,则会得到不正确的输出。

数据帧会以某种方式改变数据吗。在Alteryx中使用R工具时,有人遇到过这种情况吗?

谢谢你的意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-27 16:45:55

问题似乎是,在创建数据框架时,您的字符变量被转换为因素。使用data.frame构造函数修复此问题的方法是

代码语言:javascript
复制
the.data <- data.frame(Key="foo", datestamp="20120215", stringsAsFactors=FALSE)

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

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

代码语言:javascript
复制
write.Alteryx(base64encode(hmac(
    as.character(the.data$Key),
    as.character(the.data$datestamp),
    algo="sha256",raw = TRUE)),1)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31089567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档