相关疑难解决方法(0)

如何使用数据框的元素,如散列键/字典键/主键?

我有一个数据框,我想在这个数据帧中使用某些值作为哈希键/字典键(或者你用你选择的语言称之为的任何值).假设我有一个这样的数据框,我从一个大的csv文件中读取(仅显示第一行):

  Plate.name QN.number Well Allele.X.Rn Allele.Y.Rn Call
1 Plate 1_A1    QN2200   A     1.766       2.791    Both 
Run Code Online (Sandbox Code Playgroud)

在R代码中将是:

 structure(list(Plate.name = structure(1L, .Label = "Plate 1_A1", class = "factor"), 
    QN.number = structure(1L, .Label = "QN2200", class = "factor"), 
    Well = structure(1L, .Label = "A1", class = "factor"), Allele.X.Rn = 1.766, 
    Allele.Y.Rn = 2.791, Call = structure(1L, .Label = "Both", class = "factor")), .Names = c("Plate.name", 
"QN.number", "Well", "Allele.X.Rn", "Allele.Y.Rn", "Call"), class = "data.frame", row.names = c(NA, 
-1L))
Run Code Online (Sandbox Code Playgroud)

QN.numbers是我的数据集中的唯一ID.然后我如何使用QN.number作为其他值的参考来检索数据,也就是说我想知道给定QN.number的Call或Allele.X.Rn?似乎row.names可能会做的伎俩,但那么我将如何在这个实例中使用它们?

r

9
推荐指数
1
解决办法
3882
查看次数

当从数据框中检索不存在的行名时,为什么 R 会表现出不一致的行为?

我想知道为什么当检索不存在的行名时两个数据框会产生不同的结果a。b例如,

a <- as.data.frame(matrix(1:3, ncol = 1, nrow = 3, dimnames = list(c("A1", "A10", "B"), "V1")))
a
    V1
A1   1
A10  2
B    3

b <- as.data.frame(matrix(4:5, ncol = 1, nrow = 2, dimnames = list(c("A10", "B"), "V1")))
b
    V1
A10  4
B    5
Run Code Online (Sandbox Code Playgroud)

让我们尝试从数据框中获取“A10”、“A1”、“A” a:

> a["A10", 1]
[1] 2
> a["A1", 1]
[1] 1                    # expected
> a["A", 1]
[1] NA                   # expected
> a["B", 1]
[1] 3                    # expected
> a["C", 1] …
Run Code Online (Sandbox Code Playgroud)

r dataframe r-rownames

7
推荐指数
1
解决办法
194
查看次数

部分匹配行名时发出警告

我刚刚追踪了一个由数据框中行名称部分匹配引起的错误。有没有办法在[使用全局匹配时禁用与运算符的部分匹配或生成警告?我知道这是可能exact = TRUE的[[运营商或options(warnPartialMatchDollar = TRUE)为$索引。

df <- data.frame(ab=1:4,cd=1:4)
rownames(df) <- paste0(letters[1:4],"a")
options(warnPartialMatchDollar = TRUE) 
df$a      # warning!
df["a",]  # no warnig
Run Code Online (Sandbox Code Playgroud)

indexing r dataframe

5
推荐指数
1
解决办法
711
查看次数

标签 统计

r ×3

dataframe ×2

indexing ×1

r-rownames ×1