cols:选择特定列转换为长表 names_to:转换长表后新建列的列名(属性值为原宽表的列名) values_to:转换长表后数据列的列名 names_prefix:正则表达式,用于删除每个变量名开头的匹配文本。如原列名为wk1、wk2、wk3,使用函数names_prefix = "wk" 则会变成1、2、3。 values_drop_na:如果为 TRUE,将删除 value_...
long_data <- wide_data %>% pivot_longer( cols = starts_with("var"), names_to = "variable", values_to = "value", na.rm = TRUE # 去除缺失值 ) 通过这种方式,你可以灵活地将宽格式数据转换为长格式,并保存到多个列中。 相关搜索: 使用pivot_longer将数据整形为多列 使用多个ID列和值列通过...
pivot_longer(data,cols,names_to="name",names_prefix=NULL,names_sep=NULL,names_pattern=NULL,names_ptypes=NULL,names_transform=NULL,names_repair="check_unique",values_to="value",values_drop_na=FALSE,values_ptypes=NULL,values_transform=NULL,...) 参数 data:自己所需要转换的数据集 cols:<tidy-...
pivot_longer(data = mini_iris, cols = c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), names_to = "flower_attr", values_to = "attr_value") #写法2 mini_iris %>% pivot_longer(cols = contains(c("Length", "width")), names_to = "flower_attr", values_to = "attr_value"...
pivot_longer(cols = c("a1_var1", "a2_var1", "a3_var1"), names_to = "a", values_to = "var1") %>% mutate(a=str_extract(a, "a\\d"), a=str_extract(a, "\\d")) 但由于我有很多varx专栏,这有点麻烦——有人能指出一种更好的方法来实现上述结果吗?
pivot_longer函数 pivot_longer函数 pivot_longer函数是tidyr包中的一个函数,用于将数据从宽格式转换为长格式。示例:library(tidyr)#宽格式 df<-data.frame(id=c(1,2,3),x1=c(1,2,3),x2=c(4,5,6))#长格式 df%>% pivot_longer(cols=-id,names_to="var",values_to="val")#输出 idvarval 11...
mini_iris%>%pivot_longer(cols=contains(c("Length","width")),names_to="flower_attr",values_to="attr_value") mini_iris%>%pivot_longer(contains(c("Length","width")),"flower_attr","attr_value") 以上三种操作,本质上是相同的。都将我们的数据透视得更长了一些,让输出的数据框更“长”。
2021 d 5 我试过了: df %>% pivot_longer( cols = -Year, names_to = c(".value", "Percent"), names_pattern = "(.)_(.*)", values_to = "Percentage" ) ->df_longer 它几乎奏效了,但我得到了这样的东西——什么是“t”? Year Percent t ...
想使用pivot_longer 来做到这一点,但我不知道如何做。这是我到目前为止所得到的,但不起作用。population %>% tidyr::pivot_longer( cols = starts_with( 'X' ), names_to = c( ".value", "year" ), names_sep = "(?<=[a-z])(?=[0-9])" ) %>% dplyr::mutate( year = as.integer( ...
library(tidyr)\npivot_longer(data, cols = -aid, names_to = c(".value", "time"), \n names_pattern = "^([a-z]+)_(\\\d+)")\nRun Code Online (Sandbox Code Playgroud)\n -输出\n # A tibble: 20 \xc3\x97 4\n aid time x y\n <int> <chr> <dbl> <dbl>\n 1 1 1...