R 由因子和实数组成的数据帧

R 由因子和实数组成的数据帧,r,R,我正在使用BNlearn软件包,运行测试时出现的错误是check.data(x)中的error: 变量必须是所有实数或所有因子。。我的数据帧,EMG,包含两种类型的数值: 1) 大约30000列值,其中许多是小数(我相信这些被解释为实数) 2) 约450000列值,它们可以是0、1或2。(我认为这些被解释为因素) 我怎样才能让R相信2)类中的值是实数,而不是因子。此外,我可能以错误的方式处理错误 数据由129行组成。下面是一个数据示例 9.758314 8.290852 0.03

我正在使用BNlearn软件包,运行测试时出现的错误是check.data(x)中的
error:
变量必须是所有实数或所有因子。
。我的数据帧,
EMG
,包含两种类型的数值:

1) 大约30000列值,其中许多是小数(我相信这些被解释为实数)

2) 约450000列值,它们可以是0、1或2。(我认为这些被解释为因素)

我怎样才能让R相信2)类中的值是实数,而不是因子。此外,我可能以错误的方式处理错误

数据由129行组成。下面是一个数据示例

9.758314     8.290852     0.03077250   0.353504     2        1
9.640181     8.581444     0.02144100   0.381118     0        0
8.898238     8.441256     0.01640670   0.574626     0        0
9.784328     8.406762     0.01525690   0.553795     1        1
11.017669    9.101037     0.01828330   0.489020     1        1
9.400396     8.073811     0.01897480   0.513596     0        0
在本例中,我认为前4列被解释为实数,而后两列被解释为因子

当我在R中输入我正在使用的函数(gs,BNlearn包的一部分)时,我得到的是:

function (x, cluster = NULL, whitelist = NULL, blacklist = NULL, 
    test = NULL, alpha = 0.05, B = NULL, debug = FALSE, optimized = TRUE, 
    strict = FALSE, undirected = FALSE) 
{
    bnlearn(x = x, cluster = cluster, whitelist = whitelist, 
        blacklist = blacklist, test = test, alpha = alpha, B = B, 
        debug = debug, optimized = optimized, strict = strict, 
        undirected = undirected)
}
<environment: namespace:bnlearn>
函数(x,cluster=NULL,whitelist=NULL,blacklist=NULL,
test=NULL,alpha=0.05,B=NULL,debug=FALSE,optimized=TRUE,
严格=错误,无向=错误)
{
bnlearn(x=x,cluster=cluster,whitelist=whitelist,
黑名单=黑名单,测试=测试,α=α,B=B,
调试=调试,优化=优化,严格=严格,
无向的(无向的)
}

谢谢

您可以这样做:

  matrix(as.numeric(as.matrix(EMG)),ncol=ncol(EMG),byrow=TRUE)

as.matrix
将返回一个字符矩阵、
as.numeric
一个数字向量和
matrix
以恢复原始结构。

您能提供您正在使用的代码吗(甚至可能是一个可复制的示例)?您有多少行?看起来它可以工作,我只是使用as.data.frame将矩阵转换回数据帧形式。谢谢