从 R 中的列表中提取信息
Extract info from a list in R
我需要从 R 中的列表中提取特定信息。我的数据是 'Benford' 对象并且似乎无法使用 as_tibble()
强制转换
我的数据如下:
library(dplyr)
library(purrr)
library(benford.analysis)
# read data
data = read.csv("https://www2.census.gov/programs-surveys/popest/datasets/2010-2019/counties/totals/co-est2019-alldata.csv", header = T)
# ONLY SELECT THE NUMERIC COLUMN
x <- data %>%
select(CENSUS2010POP)
# SPLIT THE DATA INTO TWO GROUPS
x$CITY <- "CITY_A"
x[1500:3193,2] <- "CITY_B"
# SPLIT THE DATA ON THE CITY VARIABLE
dat_list <- split(x,x$CITY)
# APPLY THE BENFORD ANALYSIS TO THE NUMERICAL VALUES PER GROUP
output <- map(dat_list, ~benford(number.of.digits = 1, discrete = TRUE, sign = "positive", data = .x$CENSUS2010POP))
我希望为列表中的每个元素创建一个名称为 CITY
的数据框,即一列中的 CITY_A
和另一列中的 $ MAD.conformity
。
关于如何从我的列表中提取这些元素并将它们存储在数据框中的任何帮助?
您可以使用 purrr::map_dfr()
在每次迭代中提取 MAD.conformity
,row-bind 结果,并添加包含 [= 的每个元素名称的 .id
列14=]。由于 dat_list
是由 split
ting 在 CITY
上创建的,因此名称已经对应于 CITY
的级别。 (我不熟悉 Benford
对象的结构,因此您可能需要调整 $MAD.conformity
索引。)
output <- map_dfr(
dat_list,
~ benford(
number.of.digits = 1,
discrete = TRUE,
sign = "positive",
data = .x$CENSUS2010POP
)$MAD.conformity,
.id = "CITY"
)
我需要从 R 中的列表中提取特定信息。我的数据是 'Benford' 对象并且似乎无法使用 as_tibble()
我的数据如下:
library(dplyr)
library(purrr)
library(benford.analysis)
# read data
data = read.csv("https://www2.census.gov/programs-surveys/popest/datasets/2010-2019/counties/totals/co-est2019-alldata.csv", header = T)
# ONLY SELECT THE NUMERIC COLUMN
x <- data %>%
select(CENSUS2010POP)
# SPLIT THE DATA INTO TWO GROUPS
x$CITY <- "CITY_A"
x[1500:3193,2] <- "CITY_B"
# SPLIT THE DATA ON THE CITY VARIABLE
dat_list <- split(x,x$CITY)
# APPLY THE BENFORD ANALYSIS TO THE NUMERICAL VALUES PER GROUP
output <- map(dat_list, ~benford(number.of.digits = 1, discrete = TRUE, sign = "positive", data = .x$CENSUS2010POP))
我希望为列表中的每个元素创建一个名称为 CITY
的数据框,即一列中的 CITY_A
和另一列中的 $ MAD.conformity
。
关于如何从我的列表中提取这些元素并将它们存储在数据框中的任何帮助?
您可以使用 purrr::map_dfr()
在每次迭代中提取 MAD.conformity
,row-bind 结果,并添加包含 [= 的每个元素名称的 .id
列14=]。由于 dat_list
是由 split
ting 在 CITY
上创建的,因此名称已经对应于 CITY
的级别。 (我不熟悉 Benford
对象的结构,因此您可能需要调整 $MAD.conformity
索引。)
output <- map_dfr(
dat_list,
~ benford(
number.of.digits = 1,
discrete = TRUE,
sign = "positive",
data = .x$CENSUS2010POP
)$MAD.conformity,
.id = "CITY"
)