使用0/1索引访问向量元素。
t <- c("Sun","Mon","Tue","Wed","Thurs","Fri","Sat")
y <- t[c(0,0,0,0,0,0,1)]
print(y)
[1] "Sun"
不明白为什么答案是星期日而不是星期六。所有元素都被编码为0,而第7天被编码为1,因此我希望星期六是答案
类似地,按以下步骤调整分度
y <- t[c(1,1,1,1,1,1,1)]
print(y)
[1] "Sun" "Sun" "Sun" "Sun" "Sun" "Sun" "Sun"
答案仍然是Sun。
有人能给我解释一下这个逻辑吗?
2条答案
按热度按时间o7jaxewo1#
因为它是一个数字索引,即二进制。在
R
中,索引从1开始,因此,0值被丢弃,但末尾的值,即1提取第一个位置的't'元素。如果我们转换为逻辑索引,它将工作,它将提取对应于TRUE
值的元素yzckvree2#
使用数字索引时,索引对应于向量中元素的位置。
你会看到的
从你的帖子来看,你似乎想使用索引作为掩码。在这种情况下,你可能需要使用布尔值进行索引,它的作用就像一个开关,例如,“开”和“关”,以决定是否应该选择适当的元素,例如,
因为