有执行此函数read.table时不正确导入几个值:有分裂列更有效的方式
hs.industry <- read.table("https://download.bls.gov/pub/time.series/hs/hs.industry", header = TRUE, fill = TRUE, sep = "\t", quote = "", stringsAsFactors = FALSE)
具体而言,有在industry_code和industry_name结合在一起形成几个值industry_code列中的单个值(不知道为什么)。由于每industry_code是4个位数,我的做法分裂和正确的是:
for (i in 1:nrow(hs.industry)) {
if (isTRUE(nchar(hs.industry$industry_code[i]) > 4)) {
hs.industry$industry_name[i] <- gsub("[[:digit:]]","",hs.industry$industry_code[i])
hs.industry$industry_code[i] <- gsub("[^0-9]", "",hs.industry$industry_code[i])
}
}
我觉得这是非常innificent,但我不知道用什么办法会更好。
谢谢!
谢谢!你能否解释崩溃的必要性? – Michael
当您使用带有“text”参数的read.table'时,文本必须是单个字符串,而不是字符串列表。因此,我们用换行符折叠字符串列表(其中每个项目代表原始文本的一行)。 – jdobres