r - 在 Tableau 中使用 R 时获取 "Error in data.frame(..., check.names = FALSE) : row names contain missing values"

标签 r tableau-api

我正在使用this在 Tableau 9.0 中创建网络图的指南。

为此,您需要调用 R 创建计算字段来绘制图表的坐标。

当我加载他的示例工作簿时,它工作得很好,但是当我将他的公式应用于我自己的数据时(即使在完全按照他的数据构建它之后),我收到以下错误:

Error in data.frame(..., check.names = FALSE) : row names contain missing values

如果我理解正确的话,这是与以下代码片段中的 cbind 参数相关的错误:

SCRIPT_STR("library(igraph); library(plyr);set.seed(123);
mydf <- data.frame(from=.arg1, to=.arg2, weight=.arg3, Order=.arg4);
mydf <-mydf[(mydf$Order=='1') & (!is.na(mydf$to)),];
mygraph <- graph.data.frame(mydf);
coords <- "+[Layout]+"(mygraph, weights=E(mygraph)$weight);
c<-cbind(coords, data.frame(users=V(mygraph)$name));
c<-cbind(c, betweenness(mygraph));
allusers <- data.frame(users=.arg5);
c<-join(allusers, c, by = 'users');
paste(c[,2],c[,3],c[,4], sep='~')",ATTR([LeadGame]),ATTR([WithGame]),SUM([BoughtTogether]),ATTR([PathOrder]), ATTR([AltGame]))

对于那些不熟悉的人来说,Tableau 中的 SCRIPT_STR 通过 Rserve 调用 R。 ATTR([LeadGame])...最后定义了 R 代码中指定的五个参数。

有什么想法为什么这在他的数据上完美工作,但在我的数据上产生上述错误?同样,结构是相同的,只是数字和名称不同。

最佳答案

我首先确认您指的是 c 而不是 coords:

c<-cbind(c, betweenness(mygraph));

如果不行,请注意以下内容

如果 cbind'd 的值的 names 中存在 NA,您将收到类似的错误:

DF <- data.frame(A=1:5, B=rnorm(5))
names(col2) <- c('AA', 'BB', NA, 'DD', 'EE')
cbind(col2, DF)

检查正在cbind编辑的每个对象的names()

关于r - 在 Tableau 中使用 R 时获取 "Error in data.frame(..., check.names = FALSE) : row names contain missing values",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30308128/

相关文章:

tableau-api - 如何有条件地更改表格中的列颜色?

hadoop - 将 Tableau 工作簿保存到 Hadoop

r - R 与 RNetCDF 的结果不一致 - 为什么?

php - Tableau Tickets - POST 以获取票证返回登录表单,而不是票证 ID

r - 在 R 中使用 pull() 和 c() 来组合向量

r - 使用 ggplot2 对轴文本进行条件格式化

来自单独列中的 int 和 string 的日期值

saml-2.0 - Keycloak IdP SAML 2 将 XML 元数据导出到 SP

R:Google Analytics MCF - 按产品过滤

r - 使用 R 中的 Lowess 函数对新值进行预测