全。我是R的新手。我有一个数据集,看起来像这样:
SUBJ STIM A1 A2 A3 A4 W1 W2 W3 W4
26 1 I26 call to other classes copy extra class notes
27 1 I27 cats should go grass cow chewed long grass
28 1 I28 crowd yelled out cheer crowd yelled out cheer
29 1 I29 dad drinks hot tea dad drinks hot tea
其中W1 - W4是预测值,A1 - A4是实际值。我想找出我的实际值的“正确”百分比,即作为一个组的列A1 - A4和作为一个组的列W1 - W4之间的匹配。行顺序很重要。
我能够使用
paste0(round(100*length(intersect(dataset$A1, dataset$W1))/nrow(dataset)), "%")
这里的另一个问题是获取单个列A1和W1之间的逐行匹配百分比,但是必须有一种有效的方法来按组查找A列和W列之间的匹配?
谢谢!
发布于 2019-12-18 02:31:46
您可以将数据子集到A列,然后再子集到W列,检查与==
相同的数据,然后获得与mean
相同的百分比
pct <- mean(df[, paste0('A', 1:4)] == df[, paste0('W', 1:4)])
pct
# [1] 0.5625
scales::percent(pct)
# [1] "56.2%"
https://stackoverflow.com/questions/59380088
复制相似问题