楼主: elliott828
1614 2

[问答] 求助基础问题:向量的subset的选取规则? [推广有奖]

  • 0关注
  • 0粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
890 点
帖子
57
精华
0
在线时间
58 小时
注册时间
2009-5-7
最后登录
2016-6-5

楼主
elliott828 发表于 2014-1-23 21:31:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
看关于plotting教程的时候看到这样一段:
>x<-rnorm(100)
>y<-rnorm(100)
>z<-gl(2,50,labels=c("M","F"))
>plot(x[z=="M"],y[z=="M"])

我不明白的是z跟x和y并没有关系啊,而且是作为一个factor存在的,怎么可以做x, y 的subset选取的参数呢?

然后为方便自己理解,我自己简化了一下
>x<-1:20
>y<-21:40
>z<-gl(2,10,labels=c("M","F"))
>x[z=="M"]
[1]  1  2  3  4  5  6  7  8  9 10


最后一行就是得到的数据。那么是不是说,不管z跟x y 有没有关系,只要factor和vector的长度相等,factor就可以按位置顺序做vector的subset的参数呢?

R的编程里,是否还有相似的规则?

请各位赐教!
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Subset subs SUB Set UBS 相关性

la croyance

沙发
qoiqpwqr 发表于 2014-1-24 01:01:09
你的理解没错,用z=="M"得到的一个TRUE和FALSE的vector,然后x[z=="M"]就是把对应于TRUE的那些元素保留下来,对应于FALSE的就扔掉了。

其实长度不一样也是可以的。R会自动把短的那个循环
比如:

> x <- 1:10
> z <- c(TRUE, FALSE)
> z
[1]  TRUE FALSE
> x[z]
[1] 1 3 5 7 9

藤椅
elliott828 发表于 2014-1-24 22:20:12
qoiqpwqr 发表于 2014-1-24 01:01
你的理解没错,用z=="M"得到的一个TRUE和FALSE的vector,然后x[z=="M"]就是把对应于TRUE的那些元素保留下来 ...
了解了,谢谢!
la croyance

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 14:27