gpt4 book ai didi

r - 如何根据 R 中列中的堆叠值创建新变量

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

我有一个看起来像这样的数据集

ID   a b c  d   source file

1 3 4 7 23 feb2010.txt
2 2 1 2 47 feb2010.txt
1 3 4 7 26 march2010.txt
2 2 1 2 33 march2010.txt
1 3 4 7 28 april2010.txt
2 2 1 2 32 april2010.txt

我想阅读列名

ID  a b c Feb10 March10 April10
1 3 4 7 23 26 28
2 2 1 2 47 33 32

我的实际数据集不止有 2 个唯一 ID。它有数以千计的唯一 ID。非常感谢任何有关如何更改此设置的帮助,因为我尝试过的大部分代码尚未运行。

谢谢!

最佳答案

您可以使用 tidyverse 中的 pivot_wider()

library(dplyr)
library(tidyr)
library(lubridate)

df %>%
mutate(source_file = tools::file_path_sans_ext(source_file),
source_file = format(my(source_file), format = "%b%y")) %>%
pivot_wider(names_from = "source_file", values_from = "d")

它为您提供以下内容:

# A tibble: 2 x 7
ID a b c Feb10 Mar10 Apr10
<int> <int> <int> <int> <int> <int> <int>
1 1 3 4 7 23 26 28
2 2 2 1 2 47 33 32

数据:

df <- read.table(textConnection("ID   a b c  d   source_file
1 3 4 7 23 feb2010.txt
2 2 1 2 47 feb2010.txt
1 3 4 7 26 march2010.txt
2 2 1 2 33 march2010.txt
1 3 4 7 28 april2010.txt
2 2 1 2 32 april2010.txt"), header = TRUE)

关于r - 如何根据 R 中列中的堆叠值创建新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71325195/

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