r - 在 R 中设置数据框
问题描述
我目前在以正确的方式设置我的数据框时遇到一些问题。我想以以下列Participant ID、SpeakerDialect (TSpeaker)、SpeakerNumber(TSpeaker) 和Score 结尾。
我从谷歌表单得到的输出是 4 列分数和一列带有时间戳(参与者 ID)。现在麻烦来了。我想添加一些关于他们给数据框打分的视频的信息。我通过使用以下代码使其工作 - 但此处不包括时间戳。添加时间戳时,它完全搞砸了。这是一个重复测量设计,因此相同的时间戳将在最终数据帧中重复 4 次
trustworth1 <- read.csv('Danskernes holdninger til politiske udsagn 1.csv')
trustworth1 <- trustworth1 %>% select(Hvor.troværdig.er.personen., Hvor.troværdig.er.personen..1, Hvor.troværdig.er.personen..2, Hvor.troværdig.er.personen..3)
TSpeaker <- c('2', '3', '4', '1')
TDialect <- c('1', '2', '2', '1')
trustworth1 <- trustworth1 %>% t()
trustworth1 <- cbind(TSpeaker, TDialect, trustworth1) %>%
as.tibble()
trustworth1 <- unite(trustworth1, Score, starts_with('V'), sep = ", ", remove = FALSE, na.rm = FALSE)
trustworth1 <- trustworth1 %>% select(TSpeaker,TDialect, Score)
trustworth1 <- separate_rows(trustworth1, c(Score), convert = FALSE)
测试数据框
TimeStamp <- c(1, 2, 3, 4, 5, 6, 7)
Speaker1 <- c(4, 7, 9, 3, 2, 4, 9)
Speaker2 <- c(7, 1, 9, 0, 2, 5, 10)
Speaker3 <- c(3, 1, 9, 2, 9, 5, 10)
Speaker4 <- c(1, 1, 6, 0, 6, 5, 1)
df <- data.frame(TimeStamp, Speaker1, Speaker2, Speaker3, Speaker4)
说话者 1 的方言是 1
说话者 2 的方言是 2
说话者 3 的方言是 1
说话者 4 的方言是 2
理想情况下,我最终会得到一个数据框,每个参与者有 4 行,每个参与者的评级一个
原始数据:
TimeStamp
<chr>
Speaker2
<int>
Speaker3
<int>
Speaker4
<int>
Speaker1
<int>
1 2020/12/07 11:33:39 AM CET 3 8 6 9
2 2020/12/07 12:16:33 PM CET 5 5 5 5
3 2020/12/07 12:29:11 PM CET 6 7 8 9
4 2020/12/07 12:47:39 PM CET 7 8 8 9
5 2020/12/07 1:04:01 PM CET 5 5 5 5
6 2020/12/07 1:05:33 PM CET 0 8 9 5
6 rows
有任何想法吗?
解决方案
使用示例数据集,我想你想要这样的东西?你可以使用 'speaker' 'score' 而不是 var 和 val
require(dplyr)
require(tidyr)
df %>% head
df %>% gather(var, val, Speaker1:Speaker4) %>%
head
TimeStamp var val
1 1 Speaker1 4
2 2 Speaker1 7
3 3 Speaker1 9
4 4 Speaker1 3
5 5 Speaker1 2
6 6 Speaker1 4
推荐阅读
- r - Ivpack 和 Stargazer 的问题
- python - 按 2 列分组,计算第三个数值列的分位数
- javascript - 使用 Snowflake 中的存储过程从表中检索两列
- python - PyCharm 中的“需要更多值来解压”警告
- verilog - 使用测试向量文件的 ALU 测试台不工作
- python - Python 脚本有效但抛出错误 - pandas.errors 标记数据,预期 9 个字段看到 10
- mysql - Mysql用比较另一列得到的值更新空值
- sorting - 如何在模板中使用 sortBy
- python - 将频道移动到具有特定名称的类别
- reactjs - 在 React-Redux Web 应用程序上,我可以减少 Ajax 调用时间吗?