将一些观察结果移动到 R 中的新行?
Moving a Few Observations to New Rows in R?
我正在尝试根据数据框中现有行中的特定观察结果创建一些新列。下面,我举几行作为代表:
test.df <- tibble(can=c("can1","can2","unmarked","invalid","blank"),
votes=c(177000,441000,11000,1300,20000))
这里,我想保留can
列,但是把unmarked
和invalid
列放在右边,如他们自己的新专栏。有没有一种方法可以根据观察类型(例如 unmarked
或 invalid
?
来展开部分列
我试过使用spread(can,votes)
,但这显然为两个候选人都创建了一个列,这并不理想。
在此感谢任何帮助。谢谢!
我可以帮你完成大部分工作。在不了解您的用例的情况下,我不知道您想对未标记或无效做什么。我假设你的数据要大得多。这将使您得到罐头和选票,但由于 pivot_longer 将匹配行中未标记和无效的值,它会填充。
library(tidyverse)
test.df %>%
pivot_wider(names_from = "can",
values_from = "votes") %>%
pivot_longer(c("can1", "can2", "blank"),
names_to = "can",
values_to = "votes")
我正在尝试根据数据框中现有行中的特定观察结果创建一些新列。下面,我举几行作为代表:
test.df <- tibble(can=c("can1","can2","unmarked","invalid","blank"),
votes=c(177000,441000,11000,1300,20000))
这里,我想保留can
列,但是把unmarked
和invalid
列放在右边,如他们自己的新专栏。有没有一种方法可以根据观察类型(例如 unmarked
或 invalid
?
我试过使用spread(can,votes)
,但这显然为两个候选人都创建了一个列,这并不理想。
在此感谢任何帮助。谢谢!
我可以帮你完成大部分工作。在不了解您的用例的情况下,我不知道您想对未标记或无效做什么。我假设你的数据要大得多。这将使您得到罐头和选票,但由于 pivot_longer 将匹配行中未标记和无效的值,它会填充。
library(tidyverse)
test.df %>%
pivot_wider(names_from = "can",
values_from = "votes") %>%
pivot_longer(c("can1", "can2", "blank"),
names_to = "can",
values_to = "votes")