gpt4 book ai didi

r - 用奇怪的名字定义/调用对象?

转载 作者:行者123 更新时间:2023-12-02 07:40:34 26 4
gpt4 key购买 nike

我正要在 SO 上问另一个问题,所以这个问题突然出现在我的脑海中。我们如何用一个奇怪的名字定义一个对象。例如,假设我们想调用一个对象“test^#”。如果我想定义它,我会使用“”:

"test^#" <- 10

现在的问题是如何调用这个对象?如果我们再次使用 "",那么 R 会将其视为字符串而不是对象的名称。虽然我看到了能够在对象名称中使用符号的实际应用,但在这一点上,这更多是出于我的好奇心。

谢谢,

最佳答案

使用反引号:

"test^#" <- 10
ls()
[1] "test^#"

现在使用它:

`test^#`
[1] 10

您还可以使用反引号来引用具有非标准名称的数据框(或列表)中的列。例如:

iris$`Sepal length` <- iris$Sepal.Length
str(iris)
'data.frame': 150 obs. of 6 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Sepal length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...


summary(iris$`Sepal length`)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.300 5.100 5.800 5.843 6.400 7.900

如果你想要一些非常奇怪的东西,比如在名字中嵌入反引号,那么你可能必须使用 get() 来引用它:

"test^`#" <- 20

get("test^`#")
[1] 20

关于r - 用奇怪的名字定义/调用对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634368/

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