我收到了一组特别混乱的数据。在其中有三列表示相同的因子变量 - focus1,focus2和focus3,其中每个数据观察可能包含多个焦点但它们不是幅度的度量,即焦点1中给出的焦点不一定是更强的焦点而不是焦点2。我需要将这三个变量扩展为合并焦点变量的每个可能级别的指标变量。要做到这一点,我使用下面的代码,它昨天在我的电脑上完美运行,但我在办公室的Mac上工作,现在我遇到了问题。
# Create focus variables
spr.focus<- y1 %>%
gather(foc_num, focus, starts_with("focus")) %>%
mutate(present = 1) %>%
spread(focus, present, fill = 0)
# Reorder data on ID var while removing unnecessary columns
spr.focus <- spr.focus[order(spr.focus$tid), -c(34, 54)]
# Group by ID var and summarise indicator variables to get one obs per ID
focusvars <- spr.focus %>%
group_by(tid) %>% # tid is id var
summarise_each(funs(sum), Arts:Unclear)
我遇到了两个问题:
我也很好奇,是什么导致在Windows和Mac上运行之间存在这些差异?我不得不想象它是不同版本的软件包/ RStudio本身,但它创造了一个相当大的难题。
答案 0 :(得分:0)
在使用summarize_at进行一些修改之后,我找到了解决方案:
focusvars <- spr.focus %>%
group_by(tid) %>% # tid is an id var
summarise_at(vars(Arts:Unclear),funs(sum))
由于某种原因,它仍会在边距中抛出错误,但在范围内找不到合并名,但它会创建新的数据框。如果这对其他人有帮助,我会把它留下来。