[問題] R vector的mode問題

作者: AmigoSafin   2018-11-03 07:57:18
[問題類型]:
意見調查(我對R 有個很棒的想法,想問問大家的意見)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
大家好
想請益R的atomic vector的mode問題
例如以下題目
我的理解是 假設x是一個包含1到10的vector
加了一個character element
整個vector就會變成character
但如果加入TRUE FALSE FALSE
vector中就把logical indexing改為 1 0 0
這部分我就不知道是用到fundemental principle operation的什麼原則了
學長姐給了解答是
the mode which preserves the most information would be used.
想問問大家最後一步要如何解釋
謝謝~~
[程式範例]:
x <-1:10
x3 <-c(x, "Yankees") # error or run?
x3 <-run without an error
x4 <-as.numeric(x3) # a warning
x4
x5 <-c(x, TRUE, FALSE, FALSE)
x5 # what happened?
我是回答x5這一步做logical indexing,
因為x為numeric vector
所以TRUE FALSE轉為 1,0
請教大家是否有更嚴謹的說法?
謝謝了
作者: isolaXCC (isolaXCC)   2018-11-03 09:10:00
因為 vector 的資料型態要一致 所以資料型態強弱順序:character > complex > numeric > integer > logical所以同時有 T F 以及 numeric 的話 全部都會變成 numeric
作者: locka (locka)   2018-11-03 13:13:00
資料型態之所以有強弱就是為了上述說的"保留最多資訊"~這樣不同型態之間轉換才有彈性
作者: AmigoSafin   2018-11-04 02:13:00
謝謝各位高手!

Links booklink

Contact Us: admin [ a t ] ucptt.com