gpt4 book ai didi

r - 根据 R 中另一列的值选择列

转载 作者:行者123 更新时间:2023-12-02 09:30:17 24 4
gpt4 key购买 nike

我正在 R 中处理一个数据集(即 w3),如下所示:

Q1   Q2   Q3   Q4 WorksheetID UserID
395 2178 2699 1494 3 65
395 2178 2694 1394 3 78
395 1178 2699 1394 3 79
395 278 2699 1394 3 80
295 1188 2799 1494 3 81
395 2278 2699 2394 3 81
395 2178 2699 1394 3 83
495 1178 2709 1394 3 84
395 2198 2799 1294 3 85
395 2178 2699 1394 3 85
395 1178 2699 1394 3 86

每个用户都回答了工作表的 4 个问题(Q1、Q2、Q3、Q4)。

我想要做的是根据每个问题中回答的答案对用户进行分组。

例如第一季度

Q1   freq UserID
295 1 81
395 9 65 78 79 80 81 83 85 85 86
495 1 84

我所做的是

w3Q1<-count(W3,"Q1")
for(i in w3Q1$Q1)
{qry<-paste('select userID from w3 where Q1=',i)
print(i)
print(sqldf(qry))}

我的问题是,如何将上面的结果合并到带有变量Q1、freq、UserID的表中(如上所示)?或者有没有更简单的方法?

非常感谢

最佳答案

我们可以首先使用table统计频率并将其强制到data.frame。然后我们可以使用聚合UserID进行分组并粘贴,并合并两个数据框:

tbl <- as.data.frame(table(df$Q1))
ids <- aggregate(UserID~Q1, df, paste, collapse=' ')
merge(tbl, ids, by.x='Var1', by.y='Q1')
# Var1 Freq UserID
# 1 295 1 81
# 2 395 9 65 78 79 80 81 83 85 85 86
# 3 495 1 84

关于r - 根据 R 中另一列的值选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com