相关疑难解决方法(0)

为数据帧的每个组内的行创建一个序列号(计数器)

我们如何在数据帧的每个组中生成唯一的ID号?这里有一些按"personid"分组的数据:

personid date measurement
1         x     23
1         x     32
2         y     21
3         x     23
3         z     23
3         y     23
Run Code Online (Sandbox Code Playgroud)

我希望为"personid"定义的每个子集中的每一行添加一个唯一值的id列,始终以1.这是我想要的输出:

personid date measurement id
1         x     23         1
1         x     32         2
2         y     21         1
3         x     23         1
3         z     23         2
3         y     23         3
Run Code Online (Sandbox Code Playgroud)

我感谢任何帮助.

r dataframe

33
推荐指数
5
解决办法
3万
查看次数

R中的累计数

有没有办法计算对象在R中累积出现在列中的次数?

比如说我有专栏:

id  
1  
2  
3  
2  
2  
1  
2  
3
Run Code Online (Sandbox Code Playgroud)

这会变成:

id   count  
1     1  
2     1  
3     1  
2     2  
2     3  
1     2  
2     4  
3     2  
Run Code Online (Sandbox Code Playgroud)

等等...

谢谢

r count cumulative-sum

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

dplyr:在group_by中生成行号/行位置

我有一个数据集,我想按组生成行位置.例如

library(data.table)

data<-data.table(Position=c(1,2,3,4,5,6,7,8,9,10),
Category=c("M","M","M","M","F","F","F","M","M","F"))
Run Code Online (Sandbox Code Playgroud)

我按类别分组,并希望按组创建作为行位置的列.像下面或data.table一样的东西

dataByGroup %>% group_by(Category) %>% mutate(positionInCategory = 1:nrow(Category))
Run Code Online (Sandbox Code Playgroud)

无法弄清楚如何实现这一目标?

期望的输出:

| Position|Category | positionInCategory|
|--------:|:--------|------------------:|
|        1|M        |                  1|
|        2|M        |                  2|
|        3|M        |                  3|
|        4|M        |                  4|
|        5|F        |                  1|
|        6|F        |                  2|
|        7|F        |                  3|
|        8|M        |                  5|
|        9|M        |                  6|
|       10|F        |                  4|
Run Code Online (Sandbox Code Playgroud)

r dplyr data.table

15
推荐指数
2
解决办法
2万
查看次数

值的出现的累积序列

我有一个看起来像这样的数据集,其中一列可以有四个不同的值:

dataset <- data.frame(out = c("a","b","c","a","d","b","c","a","d","b","c","a"))
Run Code Online (Sandbox Code Playgroud)

在R中,我想创建第二列,按顺序计算包含特定值的累计行数.因此输出列将如下所示:

out
1
1
1
2
1
2
2
3
2
3
3
4
Run Code Online (Sandbox Code Playgroud)

r sequence

11
推荐指数
2
解决办法
4339
查看次数

使用多个变量创建计数器

我的数据如下所示:

CustomerID TripDate
1           1/3/2013
1           1/4/2013
1           1/9/2013
2           2/1/2013
2           2/4/2013
3           1/2/2013
Run Code Online (Sandbox Code Playgroud)

我需要创建一个计数器变量,如下所示:

CustomerID TripDate   TripCounter
1           1/3/2013   1
1           1/4/2013   2 
1           1/9/2013   3
2           2/1/2013   1
2           2/4/2013   2 
3           1/2/2013   1 
Run Code Online (Sandbox Code Playgroud)

Tripcounter 将为每个客户.

counter r

10
推荐指数
3
解决办法
4632
查看次数

观察人数分组

在RI中有一个数据帧,其中观察由几个值描述,其中一个值是一个因子.我已经按照这个因素对数据集进行了排序,并希望添加一个列,在该列中,我将在每个级别的因子上获得一些观察结果,例如

factor   obsnum
a        1
a        2
a        3
b        1
b        2
b        3
b        4
c        1
c        2
...
Run Code Online (Sandbox Code Playgroud)

在SAS中,我使用以下内容:

data logs.full;
    set logs.full;
    count + 1;
    by cookie;
    if first.cookie then count = 1;
run;
Run Code Online (Sandbox Code Playgroud)

我怎样才能在R中实现这一目标?

谢谢,

r sas

7
推荐指数
2
解决办法
7147
查看次数

r - 如何基于因子组合将行索引添加到数据框

我有一个这样的数据框:

df <- data.frame(
    Dim1 = c("A","A","A","A","A","A","B","B"),
    Dim2 = c(100,100,100,100,200,200,100,200),
    Value = sample(1:10, 8)
        )

  Dim1 Dim2 Value
1    A  100     3
2    A  100     6
3    A  100     7
4    A  100     4
5    A  200     8
6    A  200     9
7    B  100     2
8    B  200    10
Run Code Online (Sandbox Code Playgroud)

(Value列只是为了说明每一行都是一个数据点;实际值并不重要.)最后我想要做的是 Dim1和Dim2定义的子集中将值与其索引进行绘制.出于这个原因,我认为需要附加一个包含索引的新列,它们看起来像这样(在行之间添加空白行以明确子集的内容):

  Dim1 Dim2 Value Index
1    A  100     1     1
2    A  100     9     2
3    A  100     4     3
4    A  100    10     4

5 …
Run Code Online (Sandbox Code Playgroud)

r

6
推荐指数
2
解决办法
2万
查看次数

R在组内创建ID

我有以下数据集:

df<-structure(list(IDFAM = c("2010 7599 2996 1", "2010 7599 3071 1", 
"2010 7599 3071 1", "2010 7599 3660 1", "2010 7599 4736 1", "2010 7599 6235 1", 
"2010 7599 6299 1", "2010 7599 9903 1", "2010 7599 11013 1", 
"2010 7599 11778 1", "2010 7599 11778 1", "2010 7599 12248 1", 
"2010 7599 13127 1", "2010 7599 14261 1", "2010 7599 16280 1", 
"2010 7599 16280 1", "2010 7599 16280 1", "2010 7599 16280 1", 
"2010 7599 16280 1", "2010 …
Run Code Online (Sandbox Code Playgroud)

r

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

创建在面板数据组内的条件下重新启动的顺序计数器

我有一个面板数据集,我想为其创建一个计数器,该计数器随着面板中的每个步骤而增加,但只要发生某些情况就会重新启动.就我而言,我正在使用国家年度数据,并希望计算事件之间的年份.这是一个玩具数据集,其中包含我真实的主要特征:

df <- data.frame(country = rep(c("A","B"), each=5), year=rep(2000:2004, times=2), event=c(0,0,1,0,0,1,0,0,1,0), stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个df$event在每个国家的一系列观察中都有关键的计数器.当我们开始观察每个国家时,时钟从1开始; 随着每年的过去,它增加1; 并且它会在1时重新启动df$event==1.所需的输出是这样的:

   country year event clock
1        A 2000     0     1
2        A 2001     0     2
3        A 2002     1     1
4        A 2003     0     2
5        A 2004     0     3
6        B 2000     1     1
7        B 2001     0     2
8        B 2002     0     3
9        B 2003     1     1
10       B 2004     0     2
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用getanIDsplitstackshape和一些变化ififelse …

r time-series dplyr

5
推荐指数
1
解决办法
3133
查看次数

dplyr row_number排名错误

我试图使用dplyr在数据框中扩展corr列,但row_number继续失败

> o<- out %>% group_by(site) %>% mutate(row = paste0("corr", row_number()))
Error in rank(x, ties.method = "first", na.last = "keep") : 
  argument "x" is missing, with no default

>dput(out)
structure(list(site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("2001", "2002", 
"2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", 
"2011", "2012", "2013", "2014", "2015", "2016", "2017", "2020", 
"2021", "2022", "2102", "2107", "2108"), class = "factor"), corr = c(1, 
0.96999258460714, 0.940002658241897, …
Run Code Online (Sandbox Code Playgroud)

r dplyr

5
推荐指数
1
解决办法
4043
查看次数

标签 统计

r ×10

dplyr ×3

count ×1

counter ×1

cumulative-sum ×1

data.table ×1

dataframe ×1

sas ×1

sequence ×1

time-series ×1