0

data.frame があり、特定の行に対して 1 を繰り返す新しい列を追加したいと考えています。

b <- data.frame(var1 = c(9.2, 3.5,5.5,8,3), var2 = 1:5,row.names = c("a","b","c","d","e"))
b$new_col <- rep("1",b[1:3,])

Error in rep("1", b[1:3, ]) : invalid 'times' argument

私はbがこのように見えるようにしたい

 var1 var2 new_col
a  9.2    1       1
b  3.5    2       1
c  5.5    3       1
d  8.0    4       0
e  3.0    5       0

どうやってやるの?

編集:私の本当の問題で。特定の行に 1 を含む複数の列を追加したい。そのように

 var1 var2 new_col new_col2
a  9.2    1       1        0
b  3.5    2       1        0
c  5.5    3       1        0
d  8.0    4       0        1
e  3.0    5       0        1
f  2.0    6       0        0
g  3.0    7       0        0
h  5.0    8       0        0
4

3 に答える 3