将值分配给命名向量中的命名数据框列
assign values to named dataframe columns from named vector
假设我有一个向量和一个数据框:
v <- c(2,2,4,5,6)
names(v) <- c("F", "J", "D", "A", "B")
df<- setNames(data.frame(matrix(ncol = 10, nrow = 1)), c("A" ,"B", "C", "D", "E", "F", "G", "H", "I", "J"))
我现在想将 v
中存储的值分配给 df
的匹配列。将指示 "match",即 v
的名称和 'df' 的列名是相同的。
感谢您的帮助!
您可以使用 match
:
df[match(names(v), names(df))] <- v
我们可以直接对 names
中的列进行子集化并赋值
df[names(v)] <- v
df
# A B C D E F G H I J
#1 5 6 NA 4 NA 2 NA NA NA 2
假设我有一个向量和一个数据框:
v <- c(2,2,4,5,6)
names(v) <- c("F", "J", "D", "A", "B")
df<- setNames(data.frame(matrix(ncol = 10, nrow = 1)), c("A" ,"B", "C", "D", "E", "F", "G", "H", "I", "J"))
我现在想将 v
中存储的值分配给 df
的匹配列。将指示 "match",即 v
的名称和 'df' 的列名是相同的。
感谢您的帮助!
您可以使用 match
:
df[match(names(v), names(df))] <- v
我们可以直接对 names
中的列进行子集化并赋值
df[names(v)] <- v
df
# A B C D E F G H I J
#1 5 6 NA 4 NA 2 NA NA NA 2