对R中相同字符的组进行计数
假设我有这样一个字符串:对R中相同字符的组进行计数,r,string,count,data.table,R,String,Count,Data.table,假设我有这样一个字符串: str <- "FRFFFLRR". 请注意,“F”和“R”不一起计算,除非它们相邻。 所以,我需要一种方法来计算相同字符的组数。你有什么想法吗 我已经尝试拆分单个字母,然后使用unique(),但这给我留下了一个问题,即以前出现的一组字母被忽略了。在这种情况下,它给我的是“F R L”而不是“F R F L R”。您可以使用strsplit在每个字符处进行拆分,并使用rleid根据连续值将数据分组,并计算每组中的行数 library(dat
str <- "FRFFFLRR".
请注意,“F”和“R”不一起计算,除非它们相邻。所以,我需要一种方法来计算相同字符的组数。你有什么想法吗
我已经尝试拆分单个字母,然后使用
unique()
,但这给我留下了一个问题,即以前出现的一组字母被忽略了。在这种情况下,它给我的是“F R L”而不是“F R F L R”。您可以使用strsplit
在每个字符处进行拆分,并使用rleid
根据连续值将数据分组,并计算每组中的行数
library(data.table)
x <- strsplit(str, '')[[1]]
data.table(x)[, .(x = first(x), y = .N), rleid(x)]
# rleid x y
#1: 1 F 1
#2: 2 R 1
#3: 3 F 3
#4: 4 L 1
#5: 5 R 2
库(data.table)
x在执行strsplit
do.call(data.frame, rle(strsplit(str, "")[[1]]))[2:1]
# values lengths
#1 F 1
#2 R 1
#3 F 3
#4 L 1
#5 R 2
do.call(data.frame, rle(strsplit(str, "")[[1]]))[2:1]
# values lengths
#1 F 1
#2 R 1
#3 F 3
#4 L 1
#5 R 2