标签: rle

计算 R 数据框列中变量值的唯一组合

我想计算每组出现的变量的唯一组合。例如:

df <- data.frame(id = c(1,1,1,2,2,2,3,3,4,4,4,5,6,6,7,7,7),
                 status =  c("a","b","c","a","b","c","b","c","b","c","d","b","b","c","b","c", "d"))

> df
   id status
1   1      a
2   1      b
3   1      c
4   2      a
5   2      b
6   2      c
7   3      b
8   3      c
9   4      b
10  4      c
11  4      d
12  5      b
13  6      b
14  6      c
15  7      b
16  7      c
17  7      d
Run Code Online (Sandbox Code Playgroud)

因此,例如,我可以计算给定的“状态”组合出现的次数。例如,通过手工,我看到“a,b,c”总共出现了两次(id 的 1 和 2)。

这些似乎是类似的问题,但我无法弄清楚如何做到这一点,并在 R 中有更清晰的解释: 计数独特 的组合尽管有顺序,但独特的组合计数

我想我正在寻找的结果是这样的:

abc 2 …
Run Code Online (Sandbox Code Playgroud)

r rle

6
推荐指数
1
解决办法
179
查看次数

如何计算重复长度

我有以下数字序列

dat = c(-0.958694836980719, -0.105869068515775, -0.980669802804642, 
0.028491800336812, -0.635061963060457, 0, -0.930716072199491, 
0, 0.588929981219519, 0, 0.282785133581983, 0.611611557545295, 
0.0378059192851003, -0.797706616778708, 0, 0, 0, 0, 0.517465164205096, 
0, -0.488017358301909, 0, 0, -0.25055111810459, -0.649502253262175, 
-0.665111940088685, 0, 0.0833606598934977, -0.514514991719384, 
0.317596020495366, 0.794602807208168, 0, 0, -0.694999957450694, 
0.68257063515541, 0, -0.624026837516857, 0, 0, 0.450339396971535, 
-0.0302201203415504, -0.579393349186543, -0.844405771995823, 
0.315863139331068, -0.171564746000156, -0.0996391017024767, 0, 
0.0838315913186335, -0.36374768393003, 0, -0.572951822576261, 
-0.352439656458088, -0.637019777744324, 0, 0, -0.0952080968332089, 
0.617610001126072, -0.0816285346831291, 0.365239637846338, -0.0470848081799582, 
-0.925681187001364, 0, 0, 0.516154738675926, 0, 0.335416263139046, 
0.532290710398372, 0.18945326903775, 0.288998846320578, 0.125846440933334, 
-0.279555383136218, -0.456389602581116, -0.716237311784933, -0.0920396169199712, 
-0.2813560662731, 0.345024808219092, 0.338383493565635, …
Run Code Online (Sandbox Code Playgroud)

r vector rle

4
推荐指数
1
解决办法
76
查看次数

如何计算跨列的连续值

在 R 中,我有一个如下所示的数据框:

        2021    2020    2019    2018    2017    2015    2010    2006    2002    1998    1994    1990
1       6       6       6       6       4       6       6       6       6       6       6       6
2       6       6       6       6       6       6       6       6       6       3       4       4
3       7       6       6       6       4       6       6       6       6       6       6       6
4       6       6       6       6       6       6       6       6       6       6       6       6
5       4       4       7       6       4       6       6       6       6       6       4       6 …
Run Code Online (Sandbox Code Playgroud)

r dataframe rle

1
推荐指数
2
解决办法
94
查看次数

在 Python 中解码数字?

我有解码问题。首先将字符串'44444'编码为'54'. (5 次 4) 现在当我想解码'54'它的空时。(它确实对字母起作用)

该算法将字符串解码'4a3b2c''aaaabbbcc'。现在当我想解码'4a54'它只是给出'aaaa'但正确的解码是'aaaa44444'. 我怎样才能解码这个?

这是代码:

def decode_RLE(x):
    decode = ''
    count = ''
    for i in x:
        
        if i.isdigit():
            #append to count
            count += i
        else i: 
   
            decode += i * int(count)
            count = '' 
         
    return decode
Run Code Online (Sandbox Code Playgroud)

python algorithm python-3.x rle

0
推荐指数
1
解决办法
113
查看次数

标签 统计

rle ×4

r ×3

algorithm ×1

dataframe ×1

python ×1

python-3.x ×1

vector ×1