作者andrew43 (apan)
看板Statistics
标题Re: [程式] R计算问题
时间Tue Mar 5 11:22:26 2013
※ 引述《MIZUYAMA (致命祈愿)》之铭言:
: [软体程式类别]:R
: [程式问题]:
: 单纯计算问题 只是想不出程式码哪里有错
: [软体熟悉度]:
: 中(3个月到1年)
: [问题叙述]:
: 举例 有个100*3的矩阵A
: A[,1]分於三个部分 44- ,45~64,65+
: A[,2]则是1~10随机
: A[,3] =1 or 2
: 我要计算 A[,1] 小於等於44 (44-)
: A[,2] 介於5~9
: A[,3] 等於1
: 符合这三个条件的个数
你是要找同时符合这三个条件的列有几个吗?
index <- which(A[,1] <= 44 & A[,2] >= 5 & A[,2] <= 9 & A[,3] == 1)
A(index,)
length(index)
这样大概就够之後的操作了.
如果要再短一点,
sum(A[,1] <= 44 & A[,2] >= 5 & A[,2] <= 9 & A[,3] == 1)
就可以了.
--
http://apansharing.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.117.116
1F:→ MIZUYAMA:那我想请问为何我原本的code不行呢? 03/05 13:05
2F:→ andrew43:ifelse(condition, 1, 0) 多括号了 03/05 13:19
3F:→ andrew43:另外, true本来就是1, false本来就是0, 有点多此一举 03/05 13:20
4F:→ MIZUYAMA:不输入1,0 R说缺少引数 也没有预设值 03/05 13:37
5F:推 blackalert:意思是其实不用ifelse,直接把你条件式sum起来就好了 03/05 14:12
6F:→ blackalert:虽然加了也是ok啦... 03/05 14:13