从表对象中提取一行
Posted
技术标签:
【中文标题】从表对象中提取一行【英文标题】:Extract a row from a table object 【发布时间】:2012-04-23 16:00:48 【问题描述】:我想知道如何从 R 中的表中获取特定行。例如,
> a <- c(13,13,
14,14,14,14,14,14,
15,15,15,15,15,15,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
17,17,17,17,17,17,17,
18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,
19,19,19,19,19,19,19,19,19,19,19,
20,20,20,20,20,20,20,20,20,
21,21,21,21,21,21,21,21,21,21,21,
22,22,22,22,22,22,22,22,22,
23,23,23,24,25,25,27)
> table(a)
a
13 14 15 16 17 18 19 20 21 22 23 24 25 27
2 6 6 15 7 17 11 9 11 9 3 1 2 1
如何提取表格的最后一行?
【问题讨论】:
【参考方案1】:str()
函数可以让您查询对象的结构
str(table(a))
# 'table' int [1:14(1d)] 2 6 6 15 7 17 11 9 11 9 ...
# - attr(*, "dimnames")=List of 1
# ..$ a: chr [1:14] "13" "14" "15" "16" ...
您的 table 对象类似于矢量(它只是有一些额外的标签/属性)。至关重要的是,您可以按常规方式访问元素:
R> b = table(a)
##To get the numerical values
R> as.vector(b)
[1] 2 6 6 15 7 17 11 9 11 9 3 1 2 1
##To get the names
R> names(b)
[1] "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "27"
另外,我们可以使用标准的子设置规则
##Get the last element in the named vector
R> b[length(b)]
27
1
R> names(b)[length(b)]
[1] "27"
【讨论】:
还可以查看?table
下的示例。根据因素的数量,可能会有多行,当然你会选择最后一行 b[dim(b)[1],]
。
嗯,它不仅仅是一个命名向量,因为像qplot
这样的函数不会把它当作一个向量,很遗憾。
@Jelena-bioinf 你是对的。我已经更新了答案。以上是关于从表对象中提取一行的主要内容,如果未能解决你的问题,请参考以下文章
Entity Framework Core 从表中检索单个对象