gpt4 book ai didi

r - 如何创建关联矩阵

转载 作者:行者123 更新时间:2023-12-01 11:25:33 27 4
gpt4 key购买 nike

我想使用 R 创建一个关联矩阵。
我有一个包含 3 列的文件,例如:

#   id  x   y
# 1 A 22 2
# 2 B 4 21
# 3 C 21 360
# 4 D 26 2
# 5 E 22 58
# 6 F 2 347

我想要一个矩阵(没有列名和行名):
#   2 4 21 22 26 58 347 360
# A 1 0 0 1 0 0 0 0
# B 0 1 1 0 0 0 0 0
# C 0 0 1 0 0 0 0 1
# D 0 1 0 0 1 0 0 0
# E 0 0 0 1 0 1 0 0
# F 1 0 0 0 0 0 1 0

数据
df1 <- structure(list(id = c("A", "B", "C", "D", "E", "F"),
x = c(22L, 4L, 21L, 26L, 22L, 2L),
y = c(2L, 21L, 360L, 2L, 58L, 347L)),
.Names = c("id", "x", "y"), class = "data.frame", row.names = c(NA, -6L))

最佳答案

我们可以melt数据集并尝试使用 table

library(reshape2)
table(melt(df1, id.var="id")[-2])

或仅使用 base R
table(df1$id[row(df1[-1])], unlist(df1[-1]))
# 2 4 21 22 26 58 347 360
# A 1 0 0 1 0 0 0 0
# B 0 1 1 0 0 0 0 0
# C 0 0 1 0 0 0 0 1
# D 1 0 0 0 1 0 0 0
# E 0 0 0 1 0 1 0 0
# F 1 0 0 0 0 0 1 0

关于r - 如何创建关联矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37553436/

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