【发布时间】:2021-01-30 23:32:17
【问题描述】:
我的数据框是这样的
value <- c(0,0.1,0.2,0.4,0,0.05,0.05,0.5,0.20,0.40,0.50,0.60)
time <- c(1,1,1,1,2,2,2,2,3,3,3,3)
ID <- c(1,2,3,4,1,2,3,4,1,2,3,4)
test <- data.frame(value, time, ID)
test
value time ID
1 0.00 1 1
2 0.10 1 2
3 0.20 1 3
4 0.40 1 4
5 0.00 2 1
6 0.05 2 2
7 0.05 2 3
8 0.50 2 4
9 0.20 3 1
10 0.40 3 2
11 0.50 3 3
12 0.60 3 4
在这个例子中,我会用 1 减去 time==2 的值,我的数据看起来像这样
像mutate(time[time==2]= time[time==2] -1) 这样的东西当然是不可能的
value time ID
1 0.00 1 1
2 0.10 1 2
3 0.20 1 3
4 0.40 1 4
5 0.00 1 1
6 0.05 1 2
7 0.05 1 3
8 0.50 1 4
9 0.20 3 1
10 0.40 3 2
11 0.50 3 3
12 0.60 3 4
非常感谢任何提示和帮助
编辑
一种方法是替换该值,但如何减去它?
mutate(time=replace(time, time==2, 1))
【问题讨论】:
-
你能解释一下你的输出吗?你说
I would subtract the values of time==2 with 1为什么第一个4值是0,而time == 0? -
你好 Ronak 你是对的,我的输出有错误。我纠正了它。谢谢你的回答