簡體   English   中英

Deparse.level = 2 在 R

[英]Deparse.level = 2 in R

我需要知道 deparse.level = 2 的含義以及它對表的作用以及我寫的所有內容都讓我更加困惑。 誰能幫幫我嗎?

謝謝

我嘗試在沒有 diparse.level 的情況下應用表格,我可以看到表格的順序發生了變化,但它也添加了標簽,所以我無法理解它到底是什么意思

不確定你對排序部分的意思,但是table(..., deparse.level = 2)使 function 願意在表中命名不是符號的維度(基本上是變量名),如果參數不是'電話中沒有提到姓名。 實際上,它會更加努力地為維度分配名稱,即使它們類似於 function 調用,例如。 使用?table查看下一個幫助文本中的詳細信息和示例。


更多詳情:

該文檔在技術上確實解釋了它,但它......有點密集:

如果未提供參數 dnn,則調用內部 function list.names 來計算“dimname 名稱”。 如果 arguments in... 被命名,則使用這些名稱。 對於剩余的 arguments,deparse.level = 0 給出一個空名稱,deparse.level = 1 如果它是一個符號則使用提供的參數,deparse.level = 2 將解析參數。

不過下面有一個很好的例子:

> a <- letters[1:3]
> table(a, sample(a))                    # dnn is c("a", "")
   
a   a b c
  a 0 0 1
  b 1 0 0
  c 0 1 0
> table(a, sample(a), deparse.level = 0) # dnn is c("", "")
   
    a b c
  a 1 0 0
  b 0 0 1
  c 0 1 0
> table(a, sample(a), deparse.level = 2) # dnn is c("a", "sample(a)")

   sample(a)
a   a b c
  a 1 0 0
  b 0 0 1
  c 0 1 0

只有在最后一個中,它才願意將維度命名為“sample(a)”。 在所有這些情況下,第二個向量都沒有作為命名參數給出,因此它試圖找出用於它的符號(默認級別 1)或用於它的任何類型的文本(級別 2 ).


更:

關於“如果它是一個符號”的含義,請參閱?is.symbol?deparse以及通向的兔子洞。 這與名字看起來有多奇怪無關; 你可以做這樣的事情,它在deparse level 1很好,因為它這個上下文中的一個符號:

> `sample(a)` <- sample(a)
> table(a, `sample(a)`)
   sample(a)
a   a b c
  a 0 0 1
  b 1 0 0
  c 0 1 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM