【发布时间】:2020-08-08 14:56:35
【问题描述】:
假设我有一个小标题:
# A tibble: 9 x 4
PD Var P R.sq
<chr> <chr> <dbl> <dbl>
1 CommercialB Charge.OffRates.TotalLoansAndLeases -0.473 1
2 CommercialB HealthInsuranceCoverage.SC2 2.15 0.9
3 CommercialB HealthInsuranceCoverage.SC3 -0.352 0.5
4 CommercialB HealthInsuranceCoverage.SC4 0.640 0.4
5 CommercialB HealthInsuranceCoverage.SC1 0.587 0.3
6 CommercialB Charge.OffRates.TotalLoansAndLeases1 1.14 0.2
7 CommercialB Charge.OffRates.TotalLoansAndLeases4 -0.437 0.08
8 CommercialB Charge.OffRates.TotalLoansAndLeases3 2.32 0.06
9 CommercialB Charge.OffRates.TotalLoansAndLeases2 -0.273 0.01
我的问题是: 如何从 Var Column 的每一组中提取一个名称?
我尝试过使用distinct(),但仍然返回了完整的数据。我不知道如何告诉 R 知道我希望输出是一个向量,它返回 Vars 中具有最高 R.sq 值的名称。例如,输出将显示为:
>c(tib$Var['Charge.OffRates.TotalLoansAndLeases'],tib$Var['HealthInsuranceCoverage.SC2'])
稍后我将使用输出来转换更大的 df,其中列名与 Var 的行条目匹配
有人可以帮帮我吗?
tib <- structure(list(PD = c("CommercialB", "CommercialB", "CommercialB",
"CommercialB", "CommercialB", "CommercialB", "CommercialB", "CommercialB",
"CommercialB"), Var = c("HealthInsuranceCoverage.SC4", "HealthInsuranceCoverage.SC3",
"HealthInsuranceCoverage.SC2", "HealthInsuranceCoverage.SC1",
"Charge.OffRates.TotalLoansAndLeases4", "Charge.OffRates.TotalLoansAndLeases3",
"Charge.OffRates.TotalLoansAndLeases2", "Charge.OffRates.TotalLoansAndLeases1",
"Charge.OffRates.TotalLoansAndLeases"), P = c(0.639854267828088,
-0.352112247223695, 2.14688262893268, 0.586980189852499, -0.437388302395368,
2.3210132561933, -0.272751224405276, 1.13554334651023, -0.473126862945436
), R.sq = c(0.4, 0.5, 0.9, 0.3, 0.08, 0.06, 0.01, 0.2, 1)), row.names = c(NA,
-9L), class = c("tbl_df", "tbl", "data.frame"))
>
【问题讨论】:
-
能否请您在您的问题中发布 tibble 而不是表格版本; dput() 在这方面很有帮助
-
你如何在 Var 中定义一个“组”?
-
第一组是:'HealthInsuranceCoverage'还是'HealthInsuranceCoverage'.SC?第二组呢?这是“Charge.OffRates.TotalLoansAndLeases”还是只是“Charge”
-
@peter 我做了 group_by(...., Var) 是的,第二组将是完整的 Charge.offRates.TotalLoansAndLeases
-
然后就是 dput(head(tibble, 20))
标签: r sorting filter data.table data-cleaning