我想计算每组出现的变量的唯一组合。例如:
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) 我有以下数字序列
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 中,我有一个如下所示的数据框:
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) 我有解码问题。首先将字符串'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)