如果我想查看R中的長輸出或變量,是否還有與bash命令等價的更多?有沒有相當於bash命令的R等級?
回答
我不這麼認爲,但它應該很容易創建。只需用readline("\nType <Return> to go to the next page : ")
查找用戶輸入並循環遍歷該對象。
如果你使用ESS,你可以滾動瀏覽R輸出緩衝區,當然也可以搜索等等。只是說...
對於我們這些不想使用Emacs誰... ;-) @德克
more <- function(x, n=6) {
i <- 1
while(i <= length(x)) {
j <- min(length(x),i+n-1)
print(x[i:j])
i <- i+n
if(i <= length(x)) readline()
}
}
這不會是漂亮的所有對象。這只是一個默認方法的例子。您需要爲matrix
,data.frame
等寫入方法。
當然,你總是可以重新創建自己的操作系統:) – 2010-08-17 15:31:33
我應該編寫一個assembler包。多平臺可能是一個問題,雖然... – 2010-08-17 15:39:47
只需要注意:要使用這與data.frame或矩陣,你需要用'nrow'替換'length'。 – Shane 2010-08-17 17:12:14
我很少在R中滾動整個數據集。當我這樣做時,我傾向於將其推送到CSV,然後使用電子表格仔細閱讀它。對於剛剛在看短塊的輸出,可以使用head()
或tail()
我有,當然,有人問我的同事,如果我tail(head))
(是的,頭尾部的笑話永遠不老我)
如果你想看看只是一個載體,你可以這樣做:
system("more", input=as.character(rnorm(1000)))
這並不能很好地數據幀或矩陣,因爲input
PARAM需要一個特徵向量工作。
編輯
數據幀和矩陣,你可以召集我的「導出爲CSV」和命令行more
功能是這樣的:
myDF <- data.frame(a=rnorm(1000), b=rnorm(1000))
more <- function(dataFrame) {
myTempFile <- tempfile()
write.csv(dataFrame, file=myTempFile, row.names = F)
system(paste("more", myTempFile))
}
more(myDF)
或者只是使用系統正more
:
more<-function(x){
tempfile()->fn;
sink(fn);print(x);sink();
system(sprintf('more %s',fn));
system(sprintf('rm %s',fn));
}
...或less
我喜歡因爲我做不要弄亂終端:
less<-function(x){
tempfile()->fn;
sink(fn);print(x);sink();
system(sprintf('less %s',fn));
system(sprintf('rm %s',fn));
}
兩者都是* nixes;對於Windows,我認爲最好根據edit
(和字符串連接)做一些事情。
爲什麼不使用內置的file.show?
more <- function(x) {
file <- tempfile()
sink(file); on.exit(sink())
print(x)
file.show(file, delete.file = T)
}
more(mtcars)
more(more)
我喜歡這個。非常好! – 2010-08-18 03:04:05
我從來沒有聽說過file.show函數!非常漂亮。 – 2010-08-18 18:17:40
這裏是我的絕招:我在Linux下使用screen
或byobu
,然後F7,讓我來回通過任何我想要的滾動。然後再次,我很少使用more
在bash中,當我從less
得到這麼多。 ;-) less
大於more
。非常小心。
另一個不錯的多平臺選項是RStudio,它允許您輕鬆地來回滾動。
- 1. 有沒有相當於Visual Studio「命令窗口」的eclipse?
- 2. Windows Powershell相當於bash命令
- 3. 有沒有比較SQL命令與R命令的表?
- 4. 限制SSH - 沒有命令的bash
- 5. $「\ r」 - 命令在bash
- 6. GIT commit命令相當於SVN命令
- 7. Bash腳本沒有運行MySQL命令
- 8. bash腳本:命令沒有找到
- 9. Bash腳本沒有執行命令
- 10. git bash命令沒有響應
- 11. Windows命令相當於egrep
- 12. Cygwin - ypcat命令相當於
- 13. MV相當於rsync命令
- 14. 相當於「呼叫」命令
- 15. 當沒有找到命令時,bash`$?`返回0,而不是127
- 16. 有沒有相當於Dojo mouseIndicator的jQuery?
- 17. 有沒有.NET相當於Delphi的ActionList?
- 18. 有沒有相當於Tomcat的mod_status?
- 19. 有沒有相當於XAMPP的塔架?
- 20. Erlang:有沒有相當於C預處理器##指令?
- 21. 結合R + awk + bash命令
- 22. 從Bash更新R命令
- 23. Mercurial有沒有相當於svnlook樹?
- 24. 有沒有android:onLongClick相當於android:onClick?
- 25. 有沒有CUDA相當於perror()?
- 26. 有沒有任何mod_proxy相當於tomcat?
- 27. 有沒有Java CAPS相當於.NET
- 28. 有沒有Java相當於unputc?
- 29. 是否有一個相當於linux命令「perf stat」的窗口?
- 30. Asterisk1.6沒有這樣的命令源於
更多的是Unix命令,而不是bash命令。 – xcramps 2010-08-17 16:47:45
我通常將我想要查看的對象子集。 myDF [1:500,]; myDF [1500:2500,] ... – 2010-08-18 07:59:01