使用 table 维护映射函数中的列名称
Mantain column names in map function with table
我在对象 HRdata 中存储了以下数据:
ï..Employee_Name PositionID Position State Zip
1: Adinolfi, Wilson K 19 Production Technician I MA 1960
2: Ait Sidi, Karthikeyan 27 Sr. DBA MA 2148
3: Akinkuolie, Sarah 20 Production Technician II MA 1810
4: Alagbe,Trina 19 Production Technician I MA 1886
5: Anderson, Carol 19 Production Technician I MA 2169
---
307: Woodson, Jason 20 Production Technician II MA 1810
308: Ybarra, Catherine 19 Production Technician I MA 2458
309: Zamora, Jennifer 6 CIO MA 2067
310: Zhou, Julia 9 Data Analyst MA 2148
311: Zima, Colleen 19 Production Technician I MA 1730
我正在使用映射函数 table data.frame 中每个变量的唯一实例。
HRtables <- map(tibble(HRdata), ~as.data.frame(sort(table(.x), decreasing = T, responseName = "n")))
列表很好,但输出不合我意:
> HRtables$State
.x Freq
1 MA 276
2 CT 6
3 TX 3
4 VT 2
5 AL 1
6 AZ 1
7 CA 1
8 CO 1
9 FL 1
10 GA 1
11 ID 1
12 IN 1
13 KY 1
有什么方法可以保留变量的原始名称而不是用 .x 替换它?
我想您可以使用 map2
传入 data.frame 的列 names
。然后,您可以为 table
添加 dnn
参数,其中包含列名。也许这样的东西对你有用。
library(tidyverse)
map2(HRdata,
names(HRdata),
~as_tibble(sort(table(.x, dnn = .y), decreasing = T)))
我在对象 HRdata 中存储了以下数据:
ï..Employee_Name PositionID Position State Zip
1: Adinolfi, Wilson K 19 Production Technician I MA 1960
2: Ait Sidi, Karthikeyan 27 Sr. DBA MA 2148
3: Akinkuolie, Sarah 20 Production Technician II MA 1810
4: Alagbe,Trina 19 Production Technician I MA 1886
5: Anderson, Carol 19 Production Technician I MA 2169
---
307: Woodson, Jason 20 Production Technician II MA 1810
308: Ybarra, Catherine 19 Production Technician I MA 2458
309: Zamora, Jennifer 6 CIO MA 2067
310: Zhou, Julia 9 Data Analyst MA 2148
311: Zima, Colleen 19 Production Technician I MA 1730
我正在使用映射函数 table data.frame 中每个变量的唯一实例。
HRtables <- map(tibble(HRdata), ~as.data.frame(sort(table(.x), decreasing = T, responseName = "n")))
列表很好,但输出不合我意:
> HRtables$State
.x Freq
1 MA 276
2 CT 6
3 TX 3
4 VT 2
5 AL 1
6 AZ 1
7 CA 1
8 CO 1
9 FL 1
10 GA 1
11 ID 1
12 IN 1
13 KY 1
有什么方法可以保留变量的原始名称而不是用 .x 替换它?
我想您可以使用 map2
传入 data.frame 的列 names
。然后,您可以为 table
添加 dnn
参数,其中包含列名。也许这样的东西对你有用。
library(tidyverse)
map2(HRdata,
names(HRdata),
~as_tibble(sort(table(.x, dnn = .y), decreasing = T)))