R 将数据帧行中的值与引用数据帧中的列匹配,然后更改值
我有一个数据框架(d1),其中受访者回答了一系列问题(Q1-Q12),因此问题是列名,受访者回答是所有列中的一行,接下来的受访者回答是各列中的第2行。 另一个数据框(d2)有一个问题列,其中Q1-Q12为行,以及一个正确答案列,其中Q1-Q12为问题的正确答案 我的问题是如何将d1中的回答与d2中的正确回答进行比较,如果回答正确,则将d1中的值更改为1,如果回答错误,则将值更改为0R 将数据帧行中的值与引用数据帧中的列匹配,然后更改值,r,R,我有一个数据框架(d1),其中受访者回答了一系列问题(Q1-Q12),因此问题是列名,受访者回答是所有列中的一行,接下来的受访者回答是各列中的第2行。 另一个数据框(d2)有一个问题列,其中Q1-Q12为行,以及一个正确答案列,其中Q1-Q12为问题的正确答案 我的问题是如何将d1中的回答与d2中的正确回答进行比较,如果回答正确,则将d1中的值更改为1,如果回答错误,则将值更改为0 谢谢这里有一种方法可以使用dplyr和tidyr中的函数来解决这个问题,特别是collect和spread。 库
谢谢这里有一种方法可以使用dplyr和tidyr中的函数来解决这个问题,特别是
collect
和spread
。
库(dplyr)
图书馆(tidyr)
df1%
左联合(df2)%>%
变异(比较=ifelse(答案=correct,1,0))%>%
选择(-answer,-correct)%%>%
传播(问题、比较)
#>通过=“问题”加入
#>#A tible:4×5
#>受访者第一季度第二季度第三季度第四季度
#> *
#> 1 1 1 1 0 1
#> 2 2 0 1 1 1
#> 3 3 1 0 1 1
#> 4 4 1 1 1 0
请提供一个小示例数据帧和预期输出。看见