[问题] 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