首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vapply fun.value S4

vapply fun.value S4
EN

Stack Overflow用户
提问于 2017-12-13 20:37:29
回答 1查看 483关注 0票数 1

我很难找到我的vapply的FUN.VALUE应该是什么:

代码语言:javascript
复制
> sapply(ind, function(x) typeof(dataset[[x]]))
[1] "S4"
> sapply(ind, function(x) mode(dataset[[x]]))
[1] "S4"
> sapply(ind, function(x) storage.mode(dataset[[x]]))
[1] "S4"
> sapply(ind, function(x) is(dataset[[x]]))
 [,1]          
 [1,] "PlotSetPair" 
 [2,] "envRefClass" 
 [3,] ".environment"
 [4,] "refClass"    
 [5,] "environment" 
 [6,] "refObject"   
 [7,] "AssayData"   

我已经尝试了以下几种可能性,但都没有成功:

代码语言:javascript
复制
> vapply(ind, function(x){return(dataset[[x]]);}, S4)
Error in vapply(ind, function(x) { : object 'S4' not found
> vapply(ind, function(x){return(dataset[[x]]);}, "S4")
Error in vapply(ind, function(x) { : values must be type 'character',
 but FUN(X[[1]]) result is type 'S4'
> vapply(ind, function(x){return(dataset[[x]]);}, "S4-class")
Error in vapply(ind, function(x) { : values must be type 'character',
but FUN(X[[1]]) result is type 'S4'
> vapply(ind, function(x){return(dataset[[x]]);}, S4-class)
Error in vapply(ind, function(x) { : object 'S4' not found
> vapply(ind, function(x){return(dataset[[x]]);}, PlotSetPair)
Error in vapply(ind, function(x) { : object 'PlotSetPair' not found
> vapply(ind, function(x){return(dataset[[x]]);}, PlotSetPair())
Error in PlotSetPair() : could not find function "PlotSetPair"
> vapply(ind, function(x){return(dataset[[x]]);}, seqplots::PlotSetPair())
Error: 'PlotSetPair' is not an exported object from 'namespace:seqplots'
> vapply(ind, function(x){return(dataset[[x]]);}, seqplots::PlotSetPair)
Error: 'PlotSetPair' is not an exported object from 'namespace:seqplots'
> vapply(ind, function(x){return(dataset[[x]]);}, PlotSetPair-class)
Error in vapply(ind, function(x) { : object 'PlotSetPair' not found

有没有解决方案,或者我只能将vapply与原始类型一起使用?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-15 02:41:10

这对我很有效:

unlist(vapply(ind, function(x) list(dataset[[x]]), c(new("PlotSetPair")))

诀窍是使用c()使其成为列表,从而将dataset[[x]]强制为list(dataset[[x]]。那我就把它去掉吧。

非常感谢@johnColeman @JDL

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47793227

复制
相关文章

相似问题

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