R将因子列转换为不起作用的字符
我有这样一个数据集:R将因子列转换为不起作用的字符,r,type-conversion,character,R,Type Conversion,Character,我有这样一个数据集: > head(data3, n = 10) city company_name event_date name state street team_name 1 5/14/2016 Heart Walk 2015-2016 S
> head(data3, n = 10)
city company_name event_date name state street team_name
1 5/14/2016 Heart Walk 2015-2016 St. Louis MO Team Clayton
2 9/26/2015 Heart Walk 2015-2016 Canton, OH OH Cardiac Crusaders
3 9/12/2015 Heart Walk 2015-2016 Dallas, TX TX BIS - Team Myers
4 6/3/2017 FDA HW 2016-2017 Albany, NY WO-65355 Independent Walkers
5 5/6/2017 FDA HW 2016-2017 New Haven, CT WO-66497
6 10/17/2015 Heart Walk 2015-2016 Puget Sound, WA WA UB SEA/North: Arlington-Smokey Point
7 9/17/2016 Heart Walk 2016-2017 San Diego, CA MUFG ISA SD: Town Center Dr
8 9/27/2015 Heart Walk 2015-2016 Triangle, NC Fabulous Foster and the Pacemakers
9 10/1/2016 Heart Walk 2016-2017 Gulf Coast (Gulfport-Biloxi), MS MS Cardiac Division
10 10/8/2016 Heart Walk 2016-2017 Pierce County, WA WA Brains & Hearts- the Important Parts
这些列是较大数据集的一部分。我尝试使用以下代码将它们从因子转换为字符串:
chr_cols <- c("city", "company_name", "event_date", "name", "state", "street", "team_name")
data3 <- as.data.frame(lapply(data[chr_cols], as.character))
出了什么问题,我该如何解决 默认情况下,帧将字符向量转换回因子。通过提供:
data3 <- as.data.frame(lapply(data[chr_cols], as.character), stringsAsFactors=F)
data3当您执行as.data.frame
时,stringsAsFactors=TRUE
因此,它将再次将其更改为factor
。使用stringsAsFactors=FALSE
或将其分配给感兴趣的列,即数据[chr\u cols]或者,使用tidyverse解决方案:作为数据帧<代码>字符串因素
再次罢工。谢谢!我试过了,但是我做了as.data.frame(lappy(data[chr\u cols],as.character,stringsAsFactors=F))
所以这就解决了它
data3 <- as.data.frame(lapply(data[chr_cols], as.character), stringsAsFactors=F)