首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中数据清理期间,Qualtrics继承随机子集合并列?

在R中数据清理期间,Qualtrics继承随机子集合并列?
EN

Stack Overflow用户
提问于 2022-05-23 19:53:48
回答 1查看 16关注 0票数 0

当我在Qualtrics中创建我的调查时,我使用了进位随机化,让来自度量的问题子集出现在第一页上,然后在下一页显示一个尚未看到的问题的随机子集,以此类推。最终的结果是长时间的测量被分解成5页,问题的顺序是完全随机的。效果很好!但是,当作为CSV输出时,数据会变得非常混乱。下面是一个可重复的例子,其中只有两个块导出的数据。

代码语言:javascript
复制
reprex.data1 <- matrix(c("124", "Completely", "Completely", NA, "973", NA, "Moderately", NA, "592", NA, NA, "Completely"), nrow=3, byrow=TRUE)
reprex.data2 <- matrix(c("124", NA, NA, NA, "973", "Moderately", NA, "Completely", "592", NA, "Completely", NA), nrow=3, byrow=TRUE)
reprex1.cols <- c("id", "scale1_1", "scale2_1", "scale3_1")
reprex2.cols <- c("id", "scale1_2", "scale2_2", "scale3_2")
colnames(reprex.data1) <- reprex1.cols
colnames(reprex.data2) <- reprex2.cols
代码语言:javascript
复制
> reprex.data1
     id    scale1_1     scale2_1     scale3_1    
[1,] "124" "Completely" "Completely" NA          
[2,] "973" NA           "Moderately" NA          
[3,] "592" NA           NA           "Completely"
> reprex.data2
     id    scale1_2     scale2_2     scale3_2    
[1,] "124" NA           NA           NA          
[2,] "973" "Moderately" NA           "Completely"
[3,] "592" NA           "Completely" NA   

我想把这些问题组合起来,这样五个街区的调查结果就会被分解成一个街区。这看起来应该是相对简单的,但是我无法用我习惯使用的不同的合并/连接函数来解决它。有小费吗?下面是我希望这些数据最终看起来是什么样子:

代码语言:javascript
复制
reprex.final <- matrix(c("124", "Completely", "Completely", NA, "973", "Moderately", "Moderately", "Completely", "592", NA, "Completely", "Completely"), nrow=3, byrow=TRUE)
reprex.cols <- c("id", "scale1", "scale2", "scale3")
colnames(reprex.final) <- reprex.cols
代码语言:javascript
复制
> reprex.final
     id    scale1       scale2       scale3      
[1,] "124" "Completely" "Completely" NA          
[2,] "973" "Moderately" "Moderately" "Completely"
[3,] "592" NA           "Completely" "Completely"
EN

回答 1

Stack Overflow用户

发布于 2022-05-23 20:23:10

您可以像这样使用来自tidyrtidyr实用程序/还可以使用dplyr/stringr,所以下面我已经加载了tidyverse

代码语言:javascript
复制
library(tidyverse)

bind_rows(
  pivot_longer(as.data.frame(reprex.data1), cols=-id),
  pivot_longer(setNames(as.data.frame(reprex.data2), colnames(reprex.data1)), cols=-id)
) %>% 
  filter(!is.na(value)) %>% 
  mutate(name = str_remove(name,"_1")) %>% 
  pivot_wider(id_cols = id, names_from = name, values_from=value)

输出:

代码语言:javascript
复制
  id    scale1     scale2     scale3    
  <chr> <chr>      <chr>      <chr>     
1 124   Completely Completely NA        
2 973   Moderately Moderately Completely
3 592   NA         Completely Completely
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72354151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档