如何将名称指定为字符串的R对象的子集

如何将名称指定为字符串的R对象的子集,r,subset,assign,R,Subset,Assign,我有一个矩阵的名称作为字符串,并希望分配给该矩阵的一列 A <- matrix(1:4,2) v <- 10:11 name <- "A" get(name)[,2] <- v A要更改列的名称,您应该使用data.frame,而不是矩阵: A <- matrix(1:4,2) v <- 10:11 name <- "A" A <- as.data.frame(A) v <- as.data.frame(v) colnames(A)[2]

我有一个矩阵的名称作为字符串,并希望分配给该矩阵的一列

A <- matrix(1:4,2)
v <- 10:11
name <- "A"
get(name)[,2] <- v

A要更改列的名称,您应该使用data.frame,而不是矩阵:

A <- matrix(1:4,2)
v <- 10:11
name <- "A"

A <- as.data.frame(A)
v <- as.data.frame(v)
colnames(A)[2] <- name
A[,2] <- v

A您的问题应该更清楚如果您将矩阵转换为数据帧,您将能够使用
assign
A,如果您确实需要
assign(name,{B谢谢你们两位的解决方案。双方都使用中间赋值来解决问题。我想我可以对我的问题进行类似的调整。我不希望有一个命名列。相反,我希望避免在赋值中使用名称。(即,在实际替换列时没有“a”,只是对“name”的引用)
l <- list(A=matrix(1:4,2))
v <- 10:11
name <- "A"
l[[name]][,2] <- v
A <- matrix(1:4,2)
v <- 10:11
name <- "A"

A <- as.data.frame(A)
v <- as.data.frame(v)
colnames(A)[2] <- name
A[,2] <- v