【发布时间】:2020-04-24 11:35:58
【问题描述】:
我有一个带有测试用例的 df(例如,如果 X = 1 和 Y=0,则 cat='3'),以及一个带有要测试的值的附加数据框
df <- data.frame('tc' = c('X==1 & Y!=1 ','X==0 & Y!=1','X==1 & Y==1'), "cat" = 1:3)
Data <- data.frame(X = c('1','0', '1','1', '1'), Y = c('1','0', '1','0', '1'))
我目前只能通过使用测试一个测试用例
#first testcase
Data <- within(Data, cat_test <- ifelse((X==1 & Y!=1 ), paste(df$cat[1]), 0))
table(Data$cat_test )
#second testcase
Data <- within(Data, cat_test <- ifelse((X==0 & Y!=1 ), paste(df$cat[2]), Data$cat_test))
table(Data$cat_test )
#...and so on...
我想使用 lapply 或类似的方法来循环数据帧并测试每个测试用例,例如
Data <- within(Data, test <- ifelse(paste(df$tc), paste(df$cat), Data$test))
这可能吗?
【问题讨论】:
标签: r loops if-statement testing lapply