【发布时间】:2021-03-04 20:20:48
【问题描述】:
我有一个测试用例表
test_table <- data.frame(
id = c(1:10),
result = c('passed:testcase3', 'passed:testcase1', 'failed:testcase3',
'failed:testcase2', 'failed:testcase5', 'passed:testcase1',
'failed:testcase3', 'failed:testcase5', 'failed:testcase2', 'passed:testcase3')
)
还有一份我想通过匹配 test_table 中的信息来填写的报告
report <- data.frame(
testcase = c('testcase1', 'testcase2', 'testcase3', 'testcase4', 'testcase5'),
passed = rep("", 5), failed= rep("", 5)
)
我正在尝试通过 ifelse-sentences 填写通过和失败的测试用例的数量,但我找不到正确的设置。
#I create a testcase variable
test_table$testcase <- sub('.+:(.+)', '\\1', test_table$result)
#I try to fill out the missing fields in the report by:
report$passed <- ifelse(test_table$testcase==report$testcase,
count(test_table$result '%like%' 'passed')))
report$failed <- ifelse(test_table$testcase==report$testcase,
count(test_table$result '%like%' 'failed')))
预期结果是:
report_filled <- data.frame(
testcase = c('testcase1', 'testcase2', 'testcase3', 'testcase4', 'testcase5'),
passed = c('2', '0', '2', '0', '0'),
failed = c('0', '2', '2', '0', '2')
)
【问题讨论】:
标签: r dataframe if-statement