我正在尝试从宽到长重塑大型数据帧(34645 x 11619)。我想重塑99到16年。这意味着我有变量,如“edu 99 ”,“edu 00 ”,......“edu 16 “或变量如”p99d 61 “,”p 00 d61“,......,”p 16 d61 ”。年份字符串并不总是在同一位置。
有没有办法告诉R在重塑时在变量名中查找年份字符串“99-16”? (当然,鉴于字符串编号唯一标识年份)。
或者一般来说,是否有重塑大数据集的有效策略?
非常感谢你的帮助!
最好,帕特里克
答案 0 :(得分:0)
我会使用 tidyr 代替重塑:
gather()
函数extract()
函数提取年份:https://tidyr.tidyverse.org/reference/extract.html 您可以在步骤2中使用此正则表达式来提取年份"(99|0[0-9]|1[1-9])"
。它选择任何数字对,等于99,介于00和09之间,或介于10和19之间。
extract(<long_data_name>, <column_name>, <string_name_of_result_column>, regex = "(99|0[0-9]|1[1-9])", remove = TRUE)