我已经"合并了#34;来自2个数据帧的数据,&我比较了两列'回答' &安培; ' selected_answer'我得到的值是真实的和在下面的代码
中,在final_ans列中为falsedt $ final_ans< - dt $ correct_answer == dt $ selected_answer
但我想添加另一个专栏'得分'如果为true,则基于列angular.module('app', []).controller('controller', function($scope) {
$scope.calculate = function() {
return $scope.result = parseInt($scope.stroke) + 1;
}
});
的值,然后想要在列分数中显示3,如果为false,则显示0。
以下是我所做的代码,但答案错误。对于所有行,它只显示0,如下所示。如何编辑代码以获得准确的值。
final_ans
答案 0 :(得分:1)
你可以这样做:
dt <- data.frame(a=1:5, b=5:1) # here are your 2 'answer' columns
dt$test <- dt$a==dt$b # here is your test for correct answer
dt$score <- dt$test * 3 # here is the score you give for a 'TRUE' answer
dt
答案 1 :(得分:0)
将逻辑向量乘以3表示,将TRUE
替换为3,将FALSE
替换为0.即
rt$is_correct <- dt$correct_answer==dt$selected_answer
rt$is_correct * 3
如果您的final_ans
列不符合逻辑,而是字符,则需要先将其转换,然后再创建新列。
dt$final_ans <- as.logical(dt$final_ans) #to convert to logical
dt$score <- dt$final_ans * 3 #to create your new column