基本任务是创建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)]
答案 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,]
感谢免费变量age
和id
,可以编写更简单的内容,但在评论中指出@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