首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解释错误:“intI中的错误(j,n= x@Dim[2],dn[2],give.dn = FALSE):无效的字符索引”在R中?

如何解释错误:“intI中的错误(j,n= x@Dim[2],dn[2],give.dn = FALSE):无效的字符索引”在R中?
EN

Stack Overflow用户
提问于 2022-04-07 09:23:36
回答 1查看 1.1K关注 0票数 2

我试图在R中运行这个小脚本:

代码语言:javascript
复制
minimumFrequency <- 10

datadtm <- DocumentTermMatrix(datacorpusclean, control=list(bounds = list(global=c(1, Inf
)), weighting = weightBin))

# convert dtm into sparse matrix
datasdtm <- Matrix::sparseMatrix(i = datadtm$i, j = datadtm$j,
                                   x = datadtm$v,
                                   dims = c(datadtm$nrow, datadtm$ncol),
                                   dimnames = dimnames(datadtm))
# calculate co-occurrence counts
coocurrences <- t(datasdtm) %*% datasdtm
# convert into matrix
collocates <- as.matrix(coocurrences)

source("https://slcladal.github.io/rscripts/calculateCoocStatistics.R")

coocTerm <- "selection"

# calculate co-occurence statistics
coocs <- calculateCoocStatistics(coocTerm, datasdtm, measure="LOGLIK")

但是在最后一行中,我得到了这个错误:

intI中的错误(j,n= x@Dim2,dn[2],give.dn = FALSE):无效的字符索引。

我不是R方面的专家,有人能解释一下为什么会发生这种事吗?这到底是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2022-07-24 17:35:57

这意味着您试图以某种方式提取不存在的列。这里有一个重现这个问题的方法:

代码语言:javascript
复制
library(Matrix)

dd <- data.frame(a = gl(3,4), b = gl(4,1,12))# balanced 2-way
options("contrasts") # the default:  "contr.treatment"
x <- sparse.model.matrix(~ a + b, dd)

x[,"a2"] # works
# 1  2  3  4  5  6  7  8  9 10 11 12 
# 0  0  0  0  1  1  1  1  0  0  0  0 

x[,"fails"] # fails
#Error in intI(j, n = x@Dim[2], dn[[2]], give.dn = FALSE) : 
#  invalid character indexing
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71779552

复制
相关文章

相似问题

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