如何通过名称的开头字母R中

问题描述:

关闭选择变量列表说我有如何通过名称的开头字母R中

x = list(tau = 3, ga = rep(0,3))

但是创建的列表,现在我想测试一个变量tg包含在x,所以我用 is.null(x$t)

当然它返回到FALSE因为x$t = 3。我怎样才能关闭这种行为?

更新:

OK,我的目标就是,识别,因为在我的代码gga两者都意味着充分和是变量的真实姓名,如果有一个变量g载。也就是说,如果包含或不包含g代表两种不同的情况,并且我没有要求巧妙地选择来自x的变量。

我目前的方式是使用x[['g']],这返回我想要的。我在想我是否可以关闭这种全球环境行为?

+0

如何关闭这种“部分美元匹配”行为,我认为这应该是关键。 –

+0

请参阅编辑我的答案以获得正确答案。第一部分回答你的问题标题,编辑回答你的评论。 –

您可以尝试类似:

x = list(tau = 3, ga = rep(0,3)) 

x[-which(substr(names(x),1,1)== "t")] 

应该只返回$ga

编辑

如果你想不自动完成列表上搜索名称,避免使用$t,而使用[["t"]]

在你的例子中,你会想要is.null(x[["t"]])这是真实的。

+0

是的,我现在正在使用这种方式。 –

+0

如果这有助于你并回答了你的问题,请将此问题标记为左边的复选标记。 –

+0

让我们来看看是否有人会回答我们是否可以在'option'中关闭这样的部分匹配,如果没有,那么您的是标记的。 –