0
我有一個向量c(2, 5)
,我想把它變成一個向量n元素,其中位置2和5等於1,任何剩餘位置等於零。如何使用位置矢量創建二進制字符串?
即如果我想創建一個長度爲6的向量,我會希望使用矢量c(2, 5)
生成以下向量:
c(0, 1, 0, 0, 1, 0)
我有一個向量c(2, 5)
,我想把它變成一個向量n元素,其中位置2和5等於1,任何剩餘位置等於零。如何使用位置矢量創建二進制字符串?
即如果我想創建一個長度爲6的向量,我會希望使用矢量c(2, 5)
生成以下向量:
c(0, 1, 0, 0, 1, 0)
如何
x <- c(2, 5)
n <- 6
replace(integer(n), x, 1L)
# [1] 0 1 0 0 1 0
而另一種選擇是
as.integer(1:n %in% x)
# [1] 0 1 0 0 1 0
這正是我所看到的ing,謝謝! – TurtleFace
我很驚訝我用'switch'和'ifelse'工作了這麼久,並沒有接觸到(或舒適)'replace'和'recode',直到進入我的R-learning。你知道「替換」與「ifelse」相對嗎? (我意識到它們不是完全可以互換的。) – r2evans
@ r2evans - 我還沒有跑過。它是一個非常簡單的替換函數(請參閱源代碼),它甚至可以在列表上工作。 –