gpt4 book ai didi

r - 合并数据框和命名向量

转载 作者:行者123 更新时间:2023-12-02 11:25:20 26 4
gpt4 key购买 nike

我有一个数据框和一个名称向量:

df=data.frame(col1=letters[1:3],col2=rnorm(3))
v=c(a=2,b=4,c=56,d=65)

我想合并它们,只保留数据框中的值
v=data.frame(v)
merge(df,v,by.x='col1',by.y=row.names,all.x=TRUE)
Error in as.vector(x, mode) :
cannot coerce type 'closure' to vector of type 'any'

我想要:
  col1   rnorm.3.  v
1 a 0.6182781 2
2 b 0.9559001 4
3 c -0.5459661 56

注意我的真实数据是 1M 行和 1.5M 命名向量

最佳答案

我们可以match col1namesv

df$v <- v[match(df$col1, names(v))]
df

# col1 col2 v
#1 a 0.6658478 2
#2 b -1.6029447 4
#3 c 0.9019324 56

@Frank 在评论中提出了一种更简单的方法,
df$v <- v[df$col1]

关于r - 合并数据框和命名向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51896945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com