如何用R中向量的值替换data.frame中多列中的值?
我想用向量中的三个值替换data.frame最后三列中的值 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对数据集的最后三列进行子集,复制“向量”以使长度相似,并将值分配给这些列
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