[英]How check name list and use selected element?
我有兩個列表,包含不同的變量及其值。 如何在條件語句中檢查列表名稱是否正確,然后在算法的其他部分使用列表中的所選元素?
sample_list1 <- list(
varA = 11,
varB = 22,
varC = 33)
sample_list2 <- list(
varE = 44,
varF = 55,
varG = 66)
sample_fun <- function(name_list) {
if (name_list == sample_list1) {
print(name_list)
}
else if (name_list == sample_list2) {
print(name_list)
}
else stop ("Incorrect list name.")
}
sample_fun(sample_list1$varA) # It works
sample_fun(sample_list1$varB) # It doesn't work
sample_fun(sample_list2$varE) # It works
sample_fun(sample_list2$varF) # It doesn't work
如果我已正確理解您的問題,您希望您的函數告訴您列表1或列表2中是否包含給定名稱,或者兩者都不包含。
我寫了一些代碼(並經過測試),所以這應該可以解決問題:
sample_list1 <- list(
varA = 11,
varB = 22,
varC = 33)
sample_list2 <- list(
varE = 44,
varF = 55,
varG = 66)
sample_fun <- function(name_list) {
# Check if the selection is in list1 or list2
if (name_list %in% sample_list1) {
print ("Belongs to list 1")
}
else if (name_list %in% sample_list2) {
print("Belongs to list 2")
}
else stop ("Incorrect list name.")
}
sample_fun(sample_list1$varA) # Belongs to list 1
sample_fun(sample_list1$varB) # Belongs to list 1
sample_fun(sample_list2$varE) # Belongs to list 2
sample_fun(sample_list2$varF) # Belongs to list 2
雖然我對你的條件陳述有點困惑。 您檢查2種不同的可能性,但輸出相同的結果( print(name_list)
)。 您如何確定滿足哪種條件?
我對你的代碼做了一些小的調整。
試試看我:
sample_list1 <- list(
varA = 11,
varB = 22,
varC = 33)
sample_list2 <- list(
varE = 44,
varF = 55,
varG = 66)
sample_fun <- function(name_list) {
if (name_list == sample_list1$varA || name_list == sample_list1$varB || name_list == sample_list1$varC) {
print("list 1")
} else {
print("list 2")
}
}
sample_fun(sample_list1$varA) # "list 1"
sample_fun(sample_list1$varB) # "list 1"
sample_fun(sample_list2$varE) # "list 2"
sample_fun(sample_list2$varF) # "list 2"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.