小编BIN*_*BIN的帖子

为重复行分配唯一值

我想通过R中的ID为每个重复行分配值

df <- data.frame(ID=c(1,1,1,2,2,2,2,2,3,3,4),
            Code = c("A","A","A","B","B","C","C","D","A","A","C"))
> df
   ID Code
1   1    A
2   1    A
3   1    A
4   2    B
5   2    B
6   2    C
7   2    C
8   2    D
9   3    A
10  3    A
11  4    C
Run Code Online (Sandbox Code Playgroud)

我希望输出像这样,检查ID重复,然后分配第二个副本_1等等...

   ID Code Code_n
1   1    A      A
2   1    A    A_1
3   1    A    A_2
4   2    B      B
5   2    B    B_1
6   2    C      C
7   2    C    C_1
8   2    D      D …
Run Code Online (Sandbox Code Playgroud)

r

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

Paste multiple rows together in R

I have a data frame, I want to get the matrix with row 1 paste with row 2, row 3 paste with row 4, if the data frame have odd row, leave the last row the same, instead of paste row, paste column 1 and column2, column 3 and column 4, Matrix will be:

data <- data.frame(name = c(1:4), plate=c("A","B","C","D"), value1=c(4:7), value2 = c(100, 200, 300, 400))

data
     name plate value1 value2
      1     A      4    100
      2     B      5    200 …
Run Code Online (Sandbox Code Playgroud)

r matrix paste apply

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

R中的ifelse函数组

我有数据集

ID <- c(1,1,2,2,2,2,3,3,3,3,3,4,4,4)
Eval <- c("A","A","B","B","A","A","A","A","B","B","A","A","A","B")
med <- c("c","d","k","k","h","h","c","d","h","h","h","c","h","k")
df <- data.frame(ID,Eval,med)
> df
    ID Eval med
 1   1    A   c
 2   1    A   d
 3   2    B   k
 4   2    B   k
 5   2    A   h
 6   2    A   h
 7   3    A   c
 8   3    A   d
 9   3    B   h
 10  3    B   h
 11  3    A   h
 12  4    A   c
 13  4    A   h
 14  4    B   k
Run Code Online (Sandbox Code Playgroud)

我尝试创建变量,x并按yID和Eval分组.对于每个ID,if …

if-statement r duplicates data.table

4
推荐指数
2
解决办法
3993
查看次数

在R中按ID移一行

我有数据框,我想用条件创建一个新变量"Begin1":如果变量"Begin"的第二行小于第一行的变量"End",则设置值"End"替换"Begin"由于按ID重叠

ID <- c(rep(1,3), rep(3, 5), rep(4,4))
Begin <- c(0,2.5,5, 7,8,7,25,25,10,15,17,20)
End <- c(1.5,3.5,6, 7.5,8,11,29,35, 12,19,21,28)
df <- data.frame(ID, Begin, End)
df
    ID Begin  End
1   1   0.0  1.5
2   1   2.5  3.5
3   1   5.0  6.0
4   3   7.0  7.5
5   3   8.0  8.0
6   3   7.0 11.0**
7   3  25.0 29.0
8   3  25.0 35.0**
9   4  10.0 12.0
10  4  15.0 19.0
11  4  17.0 21.0**
12  4  20.0 28.0**
Run Code Online (Sandbox Code Playgroud)

如果你能看到,行加粗,排(6,8,11,12).从ID为3的第6行开始,您会看到"Begin"= 7.0,它比前一行的"End"小,现在我们设置"Begin1"= 8.0.对于ID为3的行8,"Begin"= 25,它比之前的"End"= 29小,现在我们设置"Begin1"= 29,依此类推.这是输出

   ID …
Run Code Online (Sandbox Code Playgroud)

r shift dataframe

3
推荐指数
1
解决办法
206
查看次数

R中乘以常数

我有5个小数点的数字向量,我累了乘以7,结果给我整数,我不知道为什么小数消失了.你知道发生了什么吗?

这是数据

> df
    ID     Begin       End       Int
1   34 30-Dec-05 15-Jan-06  6.142857
2   66  3-Apr-06  7-Aug-06 13.000000
3   66 28-Feb-06  3-Apr-06 17.857143
4  104 31-Jan-06 28-Feb-06  6.000000
5  104 28-Feb-06 23-May-06 10.000000
6  104 24-May-06  7-Sep-06 22.142857
7  182  9-May-06 10-Jul-06 -1.571429
8  189 10-Apr-06 11-Apr-06 15.285714
9  189 12-Apr-06 12-Apr-06 15.571429
10 189 13-Apr-06 15-Apr-06 15.714286
11 189 13-Aug-06 13-Sep-06 23.428571
12 189  6-Jun-06  6-Jun-06 33.142857
13 193 17-Mar-06 24-Mar-06  2.428571
14 193 27-Jun-06 28-Jun-06 17.000000
15 193 …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
139
查看次数

在R中按组检查重叠开始和结束时间

我想检查数据的重叠,这里是数据

ID <- c(rep(1,3), rep(3, 5), rep(4,4),rep(5,5))
Begin <- c(0,2.5,3,7,8,7,25,25,10,15,17,20,1,NA,10,11,13)
End <- c(1.5,3.5,6,12,8,11,29,35, 12,19,NA,28,5,20,30,20,25)
df <- data.frame(ID, Begin, End)
df
   ID Begin  End
1   1   0.0  1.5
2   1   2.5  3.5
3   1   3.0  6.0*
4   3   7.0 12.0
5   3   8.0  8.0*
6   3   7.0 11.0*
7   3  25.0 29.0
8   3  25.0 35.0*
9   4  10.0 12.0
10  4  15.0 19.0
11  4  17.0   NA*
12  4  20.0 28.0
13  5   1.0  5.0
14  5    NA 20.0
15 …
Run Code Online (Sandbox Code Playgroud)

r shift lag data.table

3
推荐指数
1
解决办法
111
查看次数

在R中按组检查重叠开始和结束时间(当数据有NA时运行不正确)

这是前一个问题的后续问题,但我遇到了一个问题,答案是由于NA:

require(data.table)
ID <- c(rep(1,4), rep(3, 5), rep(4,4),rep(5,5))
Begin <- c(0,2.5,NA,3,7,8,7,25,25,10,15,0,0,1,NA,10,11,13)
End <- c(1.5,3.5,NA,6,12,8,11,29,35, 12,19,NA,28,5,20,30,20,25)
df <- data.table(ID, Begin, End)
df[, Begin_New := {
  high_so_far = shift(cummax(End), fill=Begin[1L])
  w = which(Begin < high_so_far)
  Begin[w] = high_so_far[w]
  Begin
}, by=ID]
    ID   Begin  End    Begin_New
  1:  1   0.0  1.5       0.0
  2:  1   2.5  3.5       2.5
  3:  1    NA   NA        NA
  4:  1   3.0  6.0       3.0* # <~~ it supposed 3.5
  5:  3   7.0 12.0       7.0
  6: …
Run Code Online (Sandbox Code Playgroud)

r data.table

3
推荐指数
1
解决办法
87
查看次数

在R中粘贴条件

我喜欢创建一个带有函数paste0的向量,如果值大于0,则将值粘贴到每个rownames中.

ts <- data.frame(t2)
ts

1  1
2  1
3  0
4  0
5  0
6  2
footer <- c(paste0("There is ",ts$t2[1]," subject missing in group  ",rownames(ts)[1]),
paste0("There is ",ts$t2[2]," subject missing in group ",rownames(ts)[2]),
paste0("There are ",ts$t2[6]," subjects missing in group ",rownames(ts)[6]))
footer
[1] "There is 1 subject missing in group 1"   "There is 1 subject missing in group 2"  
[3] "There are 2 subjects missing in group 6"
Run Code Online (Sandbox Code Playgroud)

谢谢你的进步.

r paste

3
推荐指数
1
解决办法
1668
查看次数

创建一个新的变量,用于计算R中重复的长度

我有一个数据框,我想创建一个变量z,计算"y变量"的副本,如果y有1,1 set z = 2,2,如果y有3,3,3,则设置z = 3,3 ,3.

 x = c("a","b","c","d","e","a","b","c","d","e","a","b","c")
 y = c(1,1,2,2,2,3,3,4,4,4,5,5,5)
 data <- data.frame(x,y)
 data
    x y z
 1  a 1 2
 2  b 1 2
 3  c 2 3
 4  d 2 3
 5  e 2 3
 6  a 3 2
 7  b 3 2
 8  c 4 3
 9  d 4 3
 10 e 4 3
 11 a 5 3
 12 b 5 3
 13 c 5 3
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

aggregate r count duplicates

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

组的总和,但为 r 中的每一行保留相同的值

我有数据框,我想通过每个 ID 和组的总和创建一个新变量,如果我求和正常,数据维度减少,我的情况我需要保留并重复每一行。

ID <- c(rep(1,3), rep(3, 5), rep(4,4))
Group <-c(1,1,2,1,1,1,2,2,1,1,1,2)
x <- c(1:12)
y<- c(12:23)
df <- data.frame(ID,Group,x,y)
   ID Group  x  y
1   1     1  1 12
2   1     1  2 13
3   1     2  3 14
4   3     1  4 15
5   3     1  5 16
6   3     1  6 17
7   3     2  7 18
8   3     2  8 19
9   4     1  9 20
10  4     1 10 21
11  4     1 11 22
12  4 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

标签 统计

r ×10

data.table ×3

dataframe ×2

duplicates ×2

paste ×2

shift ×2

aggregate ×1

apply ×1

count ×1

if-statement ×1

lag ×1

matrix ×1