我創建了一個基本上創建1000個二進制值的向量的函數。我已經能夠使用rle
來計算連續1秒的最長連續數。如何在r中查找一個向量中的字符串?
我想知道如何在這個更大的向量中找到一個特定的向量(比如說c(1,0,0,1)
)?我希望它能夠返回該向量的出現次數。所以c(1,0,0,1,1,0,0,1)
應該返回2,而c(1,0,0,0,1)
應該返回0
,我發現大多數解決方案只覺得是發生在所有的序列,並返回TRUE
或FALSE
,或者他們給了個人價值的結果,而不是特定的向量被指定。
這裏是我到目前爲止的代碼:
# creates a function where a 1000 people choose either up or down.
updown <- function(){
n = 1000
X = rep(0,n)
Y = rbinom(n, 1, 1/2)
X[Y == 1] = "up"
X[Y == 0] = "down"
#calculate the length of the longest streak of ups:
Y1 <- rle(Y)
streaks <- Y1$lengths[Y1$values == c(1)]
max(streaks, na.rm=TRUE)
}
# repeat this process n times to find the average outcome.
longeststring <- replicate(1000, updown())
longeststring(p_vals)
@馮天其實我們需要使用前瞻斷言,更新代碼,讓我知道如果它不起作用。 –
我明白了。你是對的。 –