找到允许饮酒的身份证号码

时间:2014-02-04 21:32:36

标签: r matrix

基本任务是创建2列(年龄和年龄),并找出那些足够喝酒的人的身份证号码。我的教授说一切都是正确的,除了底部。 我可以找到可以喝酒的人的年龄,但我怎样才能确定并传送他们相应的身份证号码?

提前谢谢。

id <- c(seq(1,30, by = 1)) #column id

age <- sample(12:60,30, replace = T) #column age

age_id <- cbind(age, id) #matrix of column id and column age
age_id

# NEED TO CORRECT THIS PART
ok_drink <- age_id
ok_drink [(age>20) & (id>20)]

2 个答案:

答案 0 :(得分:1)

包含age > 20

元素的子矩阵
age_id[age_id[,'age'] > 20,]

只是这些元素的ID:

age_id[age_id[,'age'] > 20, 'id']

包含age > 20 id > 20元素的子矩阵:

age_id[age_id[,'age'] > 20 & age_id[,'id'] > 20,]

感谢免费变量ageid可以编写更简单的内容,但在评论中指出@thelatemail,可能会导致混淆和后来感到沮丧。但无论如何,它们都是上述的简单等价物,使用风险自负:

age_id[age > 20,]
age_id[age > 20, 'id']
age_id[age > 20 & id > 20,]

答案 1 :(得分:0)

虽然这是功课,但你已经付出了努力。所以,这里是答案..但也许你可以浏览更多......

ok_drink <- age_id[age_id[,1] > 20,"id"] # just id
ok_drink <- age_id[age_id[,1] > 20,]    #all data with age>20