gpt4 book ai didi

r - 无法在 R 中区分 left() 和 right()

转载 作者:行者123 更新时间:2023-12-05 08:52:25 24 4
gpt4 key购买 nike

R 的 gdata::left()gdata::right() 实际上是相同的函数,只是名称不同并且工作方式完全一样,还是我不正确地使用它们?

我有:mtcars

我想要:仅来自 mtcars

的最后 2 列

(我知道我可以用 mtcars[,(length(mtcars)-1):(length(mtcars))] 来请求这个,但如果有更简单的方法,我为什么要这样做? )

我想要的是这样的:

                    gear carb
Mazda RX4 4 4
Mazda RX4 Wag 4 4
Datsun 710 4 1
Hornet 4 Drive 3 1
Hornet Sportabout 3 2
...

看起来 right(mtcars,2) 会完成这个,但它却给出了

                     mpg cyl
Mazda RX4 21.0 6
Mazda RX4 Wag 21.0 6
Datsun 710 22.8 4
Hornet 4 Drive 21.4 6
Hornet Sportabout 18.7 8
...

这与 left(mtcars,2) 完全相同:

                     mpg cyl
Mazda RX4 21.0 6
Mazda RX4 Wag 21.0 6
Datsun 710 22.8 4
Hornet 4 Drive 21.4 6
Hornet Sportabout 18.7 8
...

我的主要问题是,从数据框中获取最右边的 n 列的最简单方法是什么?我想要一些东西,希望是基于 R 的东西,它不需要知道总数mtcars 的列。

最佳答案

gdata 中似乎有一个奇怪/愚蠢的错误。如果您查看 left/right 的来源您会看到这两个函数都获得了 UseMethod("left")。据我所知,这意味着调用 data.frame 中的任何一个都会导致调用 left.data.frame。事实上,如果我输入

right <- function(x, n=6L) UseMethod("right")

然后 right(mtcars,2) 按预期工作。

关于r - 无法在 R 中区分 left() 和 right(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808297/

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