R %s中的.element()和%s未返回正确的值
下面是R脚本包含的逻辑,用于确定元素是否位于列表R %s中的.element()和%s未返回正确的值,r,exists,R,Exists,下面是R脚本包含的逻辑,用于确定元素是否位于列表PPal R输出abc在PPal 当我执行 > RPal("abc") 它回来了 Error in RPal("abc") : Palette not found. 脚本: PPal <- list ( abc = c("#fda726"), def = c("#9aa5b4"), ghi = c("#bdcad0") ) RPal <- function(name){ pal <- NULL
PPal
R输出abc
在PPal
当我执行
> RPal("abc")
它回来了
Error in RPal("abc") : Palette not found.
脚本:
PPal <- list (
abc = c("#fda726"),
def = c("#9aa5b4"),
ghi = c("#bdcad0")
)
RPal <- function(name){
pal <- NULL
if (nargs() != 1){
stop("Enter 1 valid palettes.")
}
if (!(is.element(name,PPal))){
stop("Palette not found.")
}
pal <- PPal[[name]]
pal
}
如果您有
is.element(name,PPal)
您应该有is.element(name,names(PPal))
在%中%的问题是您正在将列表元素与name
进行比较。您可以在%names(PPal)中使用name%
谢谢大家,现在可以使用了。
if (!(name %in% PPal)){
stop("Palette not found.")
}