r - R中的格式化表/矩阵
问题描述
我正在尝试使用他们使用的表采用某种格式的包,我对 R 非常陌生,不知道如何以相同格式获取我的数据才能使用该包。他们的桌子是这样的:
Recipient
Actor 1 10 11 12 2 3 4 5 6 7 8 9
1 0 0 0 1 3 1 1 2 3 0 2 6
10 1 0 0 1 0 0 0 0 0 0 0 0
11 13 5 0 5 3 8 0 1 3 2 2 9
12 0 0 2 0 1 1 1 3 1 1 3 0
2 0 0 2 0 0 1 0 0 0 2 2 1
3 9 9 0 5 16 0 2 8 21 45 13 6
4 21 28 64 22 40 79 0 16 53 76 43 38
5 2 0 0 0 0 0 1 0 3 0 0 1
6 11 22 4 21 13 9 2 3 0 4 39 8
7 5 32 11 9 16 1 0 4 33 0 17 22
8 4 0 2 0 1 11 0 0 0 1 0 1
9 0 0 3 1 0 0 1 0 0 0 0 0
我现在在哪里:
X0 X1 X2 X3 X4 X5
0 0 2 3 3 0 0
1 1 0 4 2 0 0
2 0 0 0 0 0 0
3 0 2 2 0 1 0
4 0 0 3 2 0 2
5 0 0 3 3 1 0
我想将收件人和演员添加到我的,并将行名和列名更改为 1,...,6。
我的数据也列在我的工作区中的数据下,上面写着:
'num' [1:6,1:6] 0 1 ...
而工作区中的示例数据在值中显示为:
'table' num [1:12,1:12] 0 1 13 ...
如果您有建议让我的数据与他们的数据类型和样式相同,请告诉我,非常感谢所有帮助!
解决方案
好的,所以你有一个像这样的矩阵:
m <- matrix(c(1:9), 3)
rownames(m) <- 0:2
colnames(m) <- paste0("X", 0:2)
# X0 X1 X2
#0 1 4 7
#1 2 5 8
#2 3 6 9
首先,您需要删除 X 并将其变成表格:
colnames(m) <- sub("X", "", colnames(m))
m <- as.table(m)
# 0 1 2
#0 1 4 7
#1 2 5 8
#2 3 6 9
然后您可以设置维度名称:
names(dimnames(m)) <- c("Actor", "Recipient")
# Recipient
#Actor 0 1 2
# 0 1 4 7
# 1 2 5 8
# 2 3 6 9
但是,通常您会使用该函数从原始数据创建列联表,该table
函数会自动返回一个表对象。那么,也许您应该修复创建矩阵的步骤?
推荐阅读
- ubuntu - Debian 服务器 Systemd-journald 使用高 CPU
- python - 使用多线程进行 Python Socket 编程
- css - 如何获得样式组件的 CSS 键盘帮助?
- ruby-on-rails - 为什么我的过滤器没有显示在活动管理员的搜索状态侧边栏中
- networking - SonicWall 配置
- powerapps - 将“InputText”添加到现有链接?
- logging - 将nodejs应用程序记录到kafka主题的最佳方法
- histogram - Seaborn.Distplot 生成直方图和具有不同 x 轴的 KDE 线 - 它们如何在图中合并?
- svelte - 在 svelte 中进行临时编辑的绑定对象
- image - 在JavaFX中按下按钮时如何显示图像