R 将大数据集从长数据集重塑为宽数据集
我想将我拥有的大型数据集从长格式改为宽格式。目前,我的数据集形成如下:R 将大数据集从长数据集重塑为宽数据集,r,reshape,R,Reshape,我想将我拥有的大型数据集从长格式改为宽格式。目前,我的数据集形成如下: df <- structure(list(Politician = c("1", "2", "3", "k", "1", "2", "3", "k"), country = c("uk", "nl", "ro", "z", "uk", "nl", "ro", "z" ), variables = c(NA, NA, NA, NA, NA, NA, NA, NA), voteid = c(12, 12, 12, 12
df <- structure(list(Politician = c("1", "2", "3", "k", "1", "2", "3",
"k"), country = c("uk", "nl", "ro", "z", "uk", "nl", "ro", "z"
), variables = c(NA, NA, NA, NA, NA, NA, NA, NA), voteid = c(12,
12, 12, 12, 13, 13, 13, 13), votedecision = c(1, 9, 9, 1, 3,
2, 0, 9)), row.names = c(NA, -8L), class = c("tbl_df", "tbl",
"data.frame"))
# A tibble: 3 x 8
Politician counrty variables vote12 vote13 vote14 vote15 ...
<int> <chr> <lgl> <dbl> <dbl> <dbl> <dbl> <chr>
1 1 uk NA 1 3 1 9 ...
2 2 nl NA 9 2 2 0 ...
3 3 ro NA 9 0 1 2 ...
df您可以使用tidyr包,特别是spread
,来重塑整洁的数据:
library(tidyr)
spread(df, key = voteid, value = votedecision, sep = "")
# A tibble: 4 x 5
Politician country variables voteid12 voteid13
<chr> <chr> <lgl> <dbl> <dbl>
1 1 uk NA 1 3
2 2 nl NA 9 2
3 3 ro NA 9 0
4 k z NA 1 9
library(tidyr)
价差(df,key=voteid,value=votedecision,sep=”“)
#一个tibble:4x5
政治家国家变量voteid12 voteid13
1英国NA 13
2 nl NA 9 2
3 3 ro NA 9 0
4KZNA19
请提供一个可复制的示例,供我们测试或复制错误或预期结果。请看:嗨,恩辛,正如我所说,我是Rstudio的新手,就这点而言,这个论坛也是如此。我真的不知道怎么做。但是,我现在已经通过以下命令使用Reformae2记录了一些结果:ep.new=dcast(ep,mepid~voteid,value.var=“votedecision”)。现在,这将数据集重新调整为正确的宽幅形式,但现在我缺少其他变量。在这里,您可以单击我在评论中提供的链接,了解如何发布一个好的问题,然后example@nsinghs,再次感谢,但我不允许共享原始数据,我不知道如何为示例创建类似的数据。我使用的数据有9456984个obs。共有8个变量。我使用了以下命令:ep.newnew=dcast(ep,mepid+mep_name+mep_nationalparty~voteid,value.var=“votedecision”),它的工作方式是,数据现在被重新格式化为843 obs。共有7167个变量,但它仍然提供以下消息:聚合函数缺失:默认为长度。这个信息是什么意思?提出一个人们可以帮助解决的问题。你不必包含你的实际数据,但是如果没有一个可行的样本,没有人需要从图片中输入数字,你就很难在这些方面提供帮助