【发布时间】:2021-03-01 19:32:49
【问题描述】:
我正在做this 问题中需要做的事情,除了我想在原始数据框中创建一个新列,其中子集出现的行具有真或假值。
ifelse(subset(reads_matrix, rownames(reads_matrix) %in% crass$Crass_hits)
,reads_matrix$Crass <- c('TRUE'),
reads_matrix$Crass <- c('FALSE'))
评估为:
Error in ifelse(subset(reads_matrix, rownames(reads_matrix) %in% crass$Crass_hits), : (list) object cannot be coerced to type 'logical'
我也试过了:
reads_matrix$Crass <- ifelse(subset(reads_matrix, rownames(reads_matrix) %in% crass$Crass_hits),'TRUE','FALSE')
if (subset(reads_matrix, rownames(reads_matrix) %in% crass$Crass_hits)){
reads_matrix$Crass <- c('TRUE')
}
reads_matrix$Crass <- c('FALSE')
for (row in rownames(reads_matrix)){
if(subset(reads_matrix,row %in% crass$Crass_hits)){
reads_matrix$Crass <- c('TRUE')
}
reads_matrix$Crass <- c('FALSE')
}
Warning message in if (subset(reads_matrix, row %in% crass$Crass_hits)) {:
“the condition has length > 1 and only the first element will be used”
Error in if (subset(reads_matrix, row %in% crass$Crass_hits)) {: argument is not interpretable as logical
Traceback:
【问题讨论】:
-
ifelse的第一个参数是一个 data.frame,它是一个列表对象。例如比较ifelse(mtcars, 1, 0)和ifelse(mtcars == 4, 1, 0)。 -
我现在知道了,非常感谢!