如果我在数组中有各种数字,例如13239、23248、42232、12134、24255-我要计算这些数字中有多少都以第一个数字“ 1”开头(例如,在这种情况下,这些数字中有2个以“ 1”作为第一数字),并且那么有多少个数字以第一个数字“ 2”开头,然后继续移动到这些数字中的多少个以第二个数字“ 1”和“ 2”开头,依此类推。 enter image description here
答案 0 :(得分:2)
我们可以用substr
提取第一个数字,并用table
提取频率
table(substr(v1, 1, 1))
用于查找以1开头的数字的频率
sum(substr(v1, 1, 1) == 1)
用于查找每个数字的频率计数
i1 <- max(nchar(v1))
lapply(seq_len(i1), function(i) table(substr(v1, i, i)))
v1 <- c(13239, 23248, 42232, 12134, 24255)
答案 1 :(得分:0)
为简单起见,您也可以使用stringi包。
install.packages("stringi");
library(stringi);
v1 <- c(13239, 23248, 42232, 12134, 24255);
# Starts with 1
stri_startswith_fixed(v1,"1");
# Starts with 2
stri_startswith_fixed(v1,"2");
#To get count
sum(stri_startswith_fixed(v1,"2"))