gpt4 book ai didi

r - 拆分连接的列并用值填充相应的列

转载 作者:行者123 更新时间:2023-12-04 03:01:05 25 4
gpt4 key购买 nike

我有一个令人讨厌的数据表,其中有几种不同的困惑情况,我不知道如何组合使用 tidyrsplitstackshape 的其他一些答案 包。

subject <- c("A", "B", "C")
review <- c("Bill: [1.0]", "Bill: [2.0], Cathy: [3.0]", "Fred: [4.0], Cathy: [2.0]")
data.table(cbind(subject, review))

给出:

   subject                    review
1: A Bill: [1.0]
2: B Bill: [2.0], Cathy: [3.0]
3: C Fred: [4.0], Cathy: [2.0]

这表现出 tidyr 困惑,多个变量存储在一列中,还有一些难看的格式。

我想要的是这样的表格:

subject  Bill  Fred  Cathy
A 1.0 0.0 0.0
B 2.0 0.0 3.0
C 0.0 4.0 2.0

最佳答案

这应该可以做到。我建议检查中间结果以了解不同的步骤:

# example setup
library(tidyverse)

subject <- c("A", "B", "C")
review <- c("Bill: [1.0]", "Bill: [2.0], Cathy: [3.0]", "Fred: [4.0], Cathy: [2.0]")
dt <- tibble(subject, review)

# solution
dt %>%
separate_rows(review, sep = ",") %>%
separate(review, c("name", "interval"), sep = ":") %>%
mutate(interval = as.numeric(str_replace_all(interval, "\\[|\\]", ""))) %>%
complete(subject, name) %>%
replace_na(list(interval = 0)) %>%
spread(name, interval)

关于r - 拆分连接的列并用值填充相应的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182838/

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