如何用R中向量的值替换data.frame中多列中的值?

如何用R中向量的值替换data.frame中多列中的值?,r,vector,replace,gsub,R,Vector,Replace,Gsub,我想用向量中的三个值替换data.frame最后三列中的值 data.frame示例 df A B C D 5 3 8 9 载体 1 2 3 我希望data.frame看起来像什么 df A B C D 5 1 2 3 目前我正在做: df$B <- Vector[1] df$C <- Vector[2] df$D <- Vector[3] df$B我们可以使用tail对数据集的最后三列进行子集,复制“向量”以使长度相似,并将值分配给这些列

我想用向量中的三个值替换data.frame最后三列中的值

data.frame示例

df
A  B  C  D
5  3  8  9
载体

1  2  3
我希望data.frame看起来像什么

df
A  B  C  D
5  1  2  3
目前我正在做:

df$B <- Vector[1]
df$C <- Vector[2]
df$D <- Vector[3]

df$B我们可以使用
tail
对数据集的最后三列进行子集,复制“向量”以使长度相似,并将值分配给这些列

df[,tail(names(df),3)] <- Vector[col(df[,tail(names(df),3)])]
df
#  A B C D
#1 5 1 2 3

df[,tail(name(df),3)]我们可以使用
tail
对数据集的最后三列进行子集,复制“向量”以使长度相似,并将值分配给这些列

df[,tail(names(df),3)] <- Vector[col(df[,tail(names(df),3)])]
df
#  A B C D
#1 5 1 2 3
df[,tail(name(df),3)]试试这个:

df[-1] <- 1:3
或者,我们可以像这样进行非破坏性操作:

replace(df, -1, 1:3)
注:可复制形式的输入
df

df <- data.frame(A = 5, B =3, C = 8, D = 9)
df试试这个:

df[-1] <- 1:3
或者,我们可以像这样进行非破坏性操作:

replace(df, -1, 1:3)
注:可复制形式的输入
df

df <- data.frame(A = 5, B =3, C = 8, D = 9)
df