-4

我有一个基于某些条件显示错误的数据框(请参见下文)。如果所有单元格中都出现“false”,我想显示一条消息(例如,失败)

    a   b   c
1   FALSE   FALSE   FALSE
2   FALSE   FALSE   FALSE
3   FALSE   FALSE   FALSE

我尝试了下面的代码,但它不起作用

if (dataframe_name=="false")
print(fail)
4

2 回答 2

2

这是一个可供考虑的替代方案。我将它包含在 (1) 向您展示 " message" 函数,(2) 向您展示如何创建一个最小的可重现示例,(3) 如何编写一个简单的函数,以及 (4) 为您的问题提供一个有效的答案因为现有的答案是不正确的。

df1 <- data.frame(a = c(FALSE, FALSE), b = c(FALSE, FALSE))
df2 <- data.frame(a = c(FALSE, TRUE), b = c(FALSE, FALSE))

checkMe <- function(inDF) {
  if(!any(inDF == TRUE)) message("false") 
  else message(paste0((sum(inDF == TRUE)/prod(dim(inDF)))*100, "% true values"))
  inDF
}

checkMe(df1)
# false
#       a     b
# 1 FALSE FALSE
# 2 FALSE FALSE
checkMe(df2)
# 25% true values
#       a     b
# 1 FALSE FALSE
# 2  TRUE FALSE
于 2013-10-28T07:11:52.410 回答
0

我想你想要的是:

if(dataframe_name == FALSE)
    print("fail")  

"FALSE"是一个字符串。FALSE是一个布尔值。

于 2013-10-28T06:32:00.767 回答