【问题标题】:R: sapply printing resultsR: sapply 打印结果
【发布时间】:2012-11-01 14:47:22
【问题描述】:

我有这样做的代码:

sapply(unique(groups.50),function(g)data$SEQUENCE_ID[groups.50 == g])

但是在 RGui 窗口中,我只能向上滚动查看一些结果。前 10 个左右没有显示在窗口中(可能是因为我的数据太大了)。如何让它显示所有内容,或者如何打印前 10 个结果?

谢谢。

【问题讨论】:

  • 您可能想查看?split 和/或?tapply

标签: r sapply


【解决方案1】:

对于滚动浏览大型数据集,带有method='print'page 函数也非常方便。它还有一个额外的好处,那就是不会让您的命令历史记录与输出混淆。

【讨论】:

  • 如果d 是你的变量,page(d, method='print')
  • 谢谢!这正是我所需要的!完美运行。
【解决方案2】:

假设你的函数输出是一个向量,将它保存到一个对象,然后是子集:

a <- sapply(unique(groups.50),function(g)data$SEQUENCE_ID[groups.50 == g])
a[1:10]

或者使用head:

head(sapply(unique(groups.50),function(g)data$SEQUENCE_ID[groups.50 == g]),n=10)

【讨论】:

  • 我试过这样做,但我的一个结果太长了,它不会打印出每一个项目。这是一个聚类分析,其中一个聚类有 20K 个项目。因此,即使我做了类似 n=1 的操作,该簇也不会完全打印出来,因为它太大了。有什么想法吗?
  • a 是数据框列表吗?我的猜测是你可以做类似sapply(a,head)的事情。
【解决方案3】:

你可以试试

x<-sapply(unique(groups.50),function(g)data$SEQUENCE_ID[groups.50 == g])
head(x)

但您可能应该改用 tapply 吗?

【讨论】:

  • 你有tapply的使用链接吗?我还是 R 的新手。
猜你喜欢
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2019-01-07
相关资源
最近更新 更多