- R語言經(jīng)典實(shí)例(原書第2版)
- (美)J.D.隆 保羅·蒂特
- 677字
- 2020-08-03 16:43:28
2.1 在屏幕上顯示內(nèi)容
2.1.1 問題
通過R軟件顯示某一變量或表達(dá)式的值。
2.1.2 解決方案
在命令提示符后輸入變量名稱或表達(dá)式,R軟件會直接在屏幕中輸出其值。使用print函數(shù)能輸出任何變量和表達(dá)式值。使用cat函數(shù)能生成自定義格式的輸出。
2.1.3 討論
通過R軟件顯示一些內(nèi)容非常容易——只需在命令提示符處輸入:
pi #> [1] 3.14 sqrt(2) #> [1] 1.41
當(dāng)輸入這些表達(dá)式時(shí),R會計(jì)算表達(dá)式,然后自動調(diào)用print函數(shù)。所以前面的例子等同于如下命令:
print(pi) #> [1] 3.14 print(sqrt(2)) #> [1] 1.41
print函數(shù)的美妙之處在于它知道以何種格式顯示結(jié)果,包括矩陣和列表等結(jié)構(gòu)化變量:
print(matrix(c(1, 2, 3, 4), 2, 2)) #> [,1] [,2] #> [1,] 1 3 #> [2,] 2 4 print(list("a", "b", "c")) #> [[1]] #> [1] "a" #> #> [[2]] #> [1] "b" #> #> [[3]] #> [1] "c"
這很有用,因?yàn)槟闶冀K可以通過print函數(shù)查看數(shù)據(jù)。即使是復(fù)雜的數(shù)據(jù)結(jié)構(gòu),也無須編寫特殊的顯示邏輯。
但是,print函數(shù)有一個(gè)很大的局限性:它一次只能顯示一個(gè)對象。嘗試顯示多個(gè)變量會產(chǎn)生以下錯誤消息:
print("The zero occurs at", 2 * pi, "radians.") #> Error in print.default("The zero occurs at", 2 * pi, "radians."): #> invalid 'quote' argument
只有通過多次使用print函數(shù)才能顯示多個(gè)對象,這可能不是用戶想要的:
print("The zero occurs at") #> [1] "The zero occurs at" print(2 * pi) #> [1] 6.28 print("radians") #> [1] "radians"
cat函數(shù)是print函數(shù)的替代方法,它可以將多個(gè)對象連接并以連續(xù)的方式輸出:
cat("The zero occurs at", 2 * pi, "radians.", "\n") #> The zero occurs at 6.28 radians.
請注意,cat函數(shù)默認(rèn)在每個(gè)對象之間放置一個(gè)空格。你必須使用換行符(\n)才能結(jié)束本行語句。
cat函數(shù)也可以顯示簡單的向量:
fib <- c(0, 1, 1, 2, 3, 5, 8, 13, 21, 34) cat("The first few Fibonacci numbers are:", fib, "...\n") #> The first few Fibonacci numbers are: 0 1 1 2 3 5 8 13 21 34 ...
使用cat函數(shù)可以更好地控制輸出,這使得它在R程序中尤為重要。然而,它也有嚴(yán)重的限制,即它無法顯示復(fù)合數(shù)據(jù)結(jié)構(gòu),如矩陣和列表。使用cat函數(shù)顯示列表會得到以下錯誤消息:
cat(list("a", "b", "c")) #> Error in cat(list("a", "b", "c")): argument 1 (type 'list') cannot #> be handled by 'cat'
2.1.4 另請參閱
有關(guān)控制輸出格式,請參閱4.2節(jié)。
- Data Visualization with D3 4.x Cookbook(Second Edition)
- Mastering Concurrency in Go
- PostgreSQL 11從入門到精通(視頻教學(xué)版)
- Python極簡講義:一本書入門數(shù)據(jù)分析與機(jī)器學(xué)習(xí)
- Oracle GoldenGate 12c Implementer's Guide
- Python3.5從零開始學(xué)
- 零基礎(chǔ)學(xué)C語言(升級版)
- C++程序設(shè)計(jì)
- Java 9 with JShell
- Python預(yù)測之美:數(shù)據(jù)分析與算法實(shí)戰(zhàn)(雙色)
- C語言程序設(shè)計(jì)教程
- Android智能手機(jī)APP界面設(shè)計(jì)實(shí)戰(zhàn)教程
- 關(guān)系數(shù)據(jù)庫與SQL Server 2012(第3版)
- Java Web開發(fā)任務(wù)教程
- Mastering Puppet(Second Edition)