2016-01-20 70 views
0

我有一個數據幀(df1)包含預測值,編碼爲-1和1代表預測的減少或增加。 0代表沒有預測的變化(注:我不需要這個,因爲我只對預測的增加或減少感興趣)。 第二個數據幀格式相同,但表示觀察到的變化(即實際上是否確實增加或減少)。行和列匹配,以便df1 [1,1]代表預測值,df2 [1,1]代表觀察到的相同觀察結果。根據另一個邏輯條件計算一個數據幀中的值

我想要做的是得到一個計數或總共三件事情:(i)預測是否正確(即df1中的-1和1值是否與df2中對應單元中的值相匹配); (ii)實際觀察到的預測值是否沒有變化(即,df1中的-1和1值在df2中的相應單元中是否具有0)以及(iii)預測值是否完全不正確(即,df1中的-1和1值在df2的相應單元格中具有相反的值)。

df1 <- as.data.frame(matrix(sample(-1:1, 40*2, replace=TRUE), ncol=8)) 
df2 <- as.data.frame(matrix(sample(-1:1, 40*2, replace=TRUE), ncol=8)) 

回答

1

你可以只設置了幾個邏輯檢查

# (i) 
sum(df1 == df2 & df1 != 0) 
# (ii) 
sum(df1 != df2 & df2 == 0) 
# (iii) 
sum(df1 != df2 & df1 != 0 & df2 != 0) 
+0

輝煌謝謝!我會盡可能地打勾。 –

相關問題