【发布时间】:2015-04-15 21:28:43
【问题描述】:
假设我有以下数据框
set.seed(123)
df <- data.frame(var1=(runif(10)>0.5)*1)
var1 可以有任何类型/数量的级别,而不是特别是 0 和 1s
我想创建一个var2,每次var1 更改没有使用for loop
这种情况下的预期结果是:
data.frame(var1=(runif(10)>0.5)*1, var2=c(1, 2, 3, 4, 4, 5, 6, 6, 6, 7))
var1 var2
0 1
1 2
0 3
1 4
1 4
0 5
1 6
1 6
1 6
0 7
数据框的另一个选项可能是:
df <- data.frame(var1=c("a", "a", "1", "0", "b", "b", "b", "c", "1", "1"))
在这种情况下,结果应该是:
var1 var2
a 1
a 1
1 2
0 3
b 4
b 4
b 4
c 5
1 6
1 6
【问题讨论】:
标签: r