r - 从R中的表dimname获取行
问题描述
我有下表:
> some.table
Week
Person 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Anna 0 1 0 1 1 1 0 0 2 1 1 0 0 2
Cloe 0 1 1 1 1 1 0 0 0 0 0 1 2 0
Heather 1 0 0 2 1 1 0 1 1 1 2 1 2 0
Samantha 0 0 3 1 1 2 1 0 0 0 0 0 0 0
> str(some.table)
'table' int [1:6, 1:14] 0 0 1 0 0 1 1 1 0 0 ...
- attr(*, "dimnames")=List of 2
..$ Person: chr [1:6] "Anna" "Cloe" "Heather" "Samantha"
..$ Week : chr [1:14] "17" "18" "19" "20" ...
如何按人名从该表中提取一行?
例如,some.table$Person["Cloe"]
我想获得一个 vector c(0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 0)
。
解决方案
这应该有效,注意逗号:
some.table["Cloe", ]
这是一个可重现的示例:
x <- with(mtcars, table(cyl, gear))
x
# gear
# cyl 3 4 5
# 4 1 8 2
# 6 2 4 1
# 8 12 0 2
x[ "4", ]
# 3 4 5
# 1 8 2
我们可以使用unname删除列名:
unname(x[ "4", ])
# [1] 1 8 2
推荐阅读
- python - 将字典数组转换为 Pandas 数据帧,并将数据帧转换回字典数组
- python - “堆栈溢出错误”后如何自动重新运行python代码
- python - 在 Tensorflow 2.4 中可视化自定义模型的图形
- sql - SQL Server 聚集索引:唯一与增加
- django - Django:如何过滤查询集中的子集?
- c# - 如何在 Windows 窗体应用程序中从头开始检查
- javascript - 如何使用本地存储值填充多个 HTML DOM 元素
- react-native - Flatlist undefined 不是 React-native 的对象
- java - 如何使用 java 发送电子邮件?
- java - 如果给定字符串是给定 Firebase 位置的子项,而无需在 Firebase 中下载整个数据快照,如何获取布尔值?