R 无意中合并表的值
我正在比较来自不同data.frames的结果,并将它们全部放入一个列表中。我使用sapply查看选定问题的结果,但有时它会显示不同的值,好像它们是相同的,为什么 即使在最简单的情况下也会发生这种情况,例如: x=c(1,2,3) y=c(1,2,4) SAPPY(列表(x,y),函数(z)表(z)) [,1][,2] 11 2 1 1 31R 无意中合并表的值,r,sapply,R,Sapply,我正在比较来自不同data.frames的结果,并将它们全部放入一个列表中。我使用sapply查看选定问题的结果,但有时它会显示不同的值,好像它们是相同的,为什么 即使在最简单的情况下也会发生这种情况,例如: x=c(1,2,3) y=c(1,2,4) SAPPY(列表(x,y),函数(z)表(z)) [,1][,2] 11 2 1 1 31 4显示为3,为什么?顺序很重要。如果您将顺序更改为列表(y,x),您将得到1,2,4。sapply在具有异构输出时是危险的,因为它将使用启发式函数simp
4显示为3,为什么?顺序很重要。如果您将顺序更改为列表(y,x),您将得到1,2,4。
sapply
在具有异构输出时是危险的,因为它将使用启发式函数simplify2array
来简化输出。从文档中可以看出:sapply是一个用户友好的版本,默认情况下通过应用simplify2array()返回向量、矩阵或数组(如果simplify=“array”)。sapply(x,f,simplify=FALSE,USE.NAMES=FALSE)与lapply(x,f)是一样的。
你说得对,简化是个问题,尽管没有它,我会得到单独的列表,但标签正确。我想,我用了一个错误的工具来进行比较。谢谢:)>sapply(列表(x,y),函数(z){table(z)},simplify=FALSE)[[1]]z12311[[2]]z12311顺序很重要。如果您将顺序更改为列表(y,x),您将得到1,2,4。sapply
在具有异构输出时是危险的,因为它将使用启发式函数simplify2array
来简化输出。从文档中可以看出:sapply是一个用户友好的版本,默认情况下通过应用simplify2array()返回向量、矩阵或数组(如果simplify=“array”)。sapply(x,f,simplify=FALSE,USE.NAMES=FALSE)与lapply(x,f)是一样的。
你说得对,简化是个问题,尽管没有它,我会得到单独的列表,但标签正确。我想,我用了一个错误的工具来进行比较。谢谢:)>sapply(列表(x,y),函数(z){table(z)},simplify=FALSE)[[1]]z12311[[2]]z12411