gpt4 book ai didi

r - 通过匹配列名称上每一行中的值来填充列值

转载 作者:行者123 更新时间:2023-12-02 22:34:16 24 4
gpt4 key购买 nike

我想创建一个这样的数据框:

Label   Jim Charles Kevin Alan
Charles 0 1 0 0
Kevin 0 0 1 0
Alan 0 0 0 1
Alan 0 0 0 1
Jim 1 0 0 0

我从一个数据框开始,其中设置了列名,人名列在第一列中,但所有数字都是 0。我想通过匹配第一列中列出的名称到列名。

最佳答案

可能有更快的方法,但这应该工作得相当好:

数据:

m <- matrix(0,nrow=5,ncol=4,
dimnames=list(c("Charles","Kevin","Alan","Alan","Jim"),
c("Jim","Charles","Kevin","Alan")))

使用outer比较所有行和所有列:

mm <- outer(rownames(m),colnames(m),"==")
storage.mode(mm) <- "numeric" ## because as.numeric() loses matrix dimensions
dimnames(mm) <- dimnames(m) ## reset row/column names

关于r - 通过匹配列名称上每一行中的值来填充列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694695/

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