gpt4 book ai didi

在 R 中引用行号

转载 作者:行者123 更新时间:2023-12-02 05:07:57 24 4
gpt4 key购买 nike

如何引用观察的行号?例如,如果您有一个名为“data”的 data.frame 并希望创建一个等于每个观察的行号的变量 data$rownumber,那么如果没有使用循环?

最佳答案

这些默认显示为 rownames当您创建data.frame时.

R> df = data.frame('a' = rnorm(10), 'b' = runif(10), 'c' = letters[1:10])
R> df
a b c
1 0.3336944 0.39746731 a
2 -0.2334404 0.12242856 b
3 1.4886706 0.07984085 c
4 -1.4853724 0.83163342 d
5 0.7291344 0.10981827 e
6 0.1786753 0.47401690 f
7 -0.9173701 0.73992239 g
8 0.7805941 0.91925413 h
9 0.2469860 0.87979229 i
10 1.2810961 0.53289335 j

您可以通过 rownames 访问它们命令。

R> rownames(df)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"

如果您需要它们作为数字,只需添加 as.numeric 即可强制转换为数字,如as.numeric(rownames(df))

你不需要添加它们,就好像你知道你要找什么一样(比如 item df$c == 'i' ,你可以使用 which 命令:

R> which(df$c =='i')
[1] 9

或者如果您不知道该列

R> which(df == 'i', arr.ind=T)
row col
[1,] 9 3

您可以使用 df[9, 'c'] 访问该元素,或df$c[9]

如果您想添加它们,您可以使用 df$rownumber <- as.numeric(rownames(df)) ,尽管这可能不如 df$rownumber <- 1:nrow(df) 稳健因为在某些情况下您可能已分配给 rownames因此它们将不再是默认索引号(即使您确实分配给 rownames ,which 命令也将继续返回索引号)。

关于在 R 中引用行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732728/

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