如何删除“|”不从 R 中的列表中留下 Space
How to Remove "|" Without Leaving Space from the List in R
我正在使用 pdf 工具通过首先转换为 png 从扫描文件中提取数据。由于 pdf 工具从 png 读取,因此无缘无故出现了一些标点符号。我可以删除其中的大部分,除了“|”。
这是我的数据:
c("| January 2,310,501 2,342,654 + 14%", "| February 2,221,036 2,316,278 + 4.3%", )
我希望我的数据可以是这样的:
c("January 2,310,501 2,342,654 + 14%", "February 2,221,036 2,316,278 + 4.3%",)
从附图中可以看出,“|”改变了我的数据结构,我不能简单地从第二列读取数据。我想要的是删除“|”元素。然后其余的元素可以向前移动。您还可以找到附加的文件。谢谢您的帮助。
您可以使用 lapply
删除 "|"
的元素。
lapply(test2, function(x) x[x != '|'])
#[[1]]
#[1] "January" "test"
#[[2]]
#[1] "February" "2, 602,33"
同样,在purrr
中使用map
purrr::map(test2, ~.x[.x != '|'])
对于更新的数据,我们可以使用 gsub
test <- trimws(gsub('\|', '', test))
test
# [1] "January 2,310,501 2,342,654 + 14%" "February 2,221,036 2,316,278 + 4.3%"
# [3] "March 2,602,503 2,571,661 ( -1.2% )" "April 2,471,788 2,485,989 i 0.6%"
# [5] "May 2,418,547 2,512,922 + 3.9%" "June 2,412,882 2,430,232 + 0.7%"
# [7] "July 2,462,907 2,535,594 + 3.0%" "August 2,526,211 2,638,753 + 4.5%"
# [9] "September 2,434,132 2,480,466 * + 1.9%" "October 2,552,215 2,642,990 * + 3.6%"
#[11] "November 2,306,106 2,428,806 + 5.3%" "December _ 2,283,294 2,250,016 ( -1.5% )"
数据
test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))
我们可以使用setdiff
lapply(test2, setdiff, "|")
#[[1]]
#[1] "January" "test"
#[[2]]
#[1] "February" "2, 602,33"
数据
test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))
我正在使用 pdf 工具通过首先转换为 png 从扫描文件中提取数据。由于 pdf 工具从 png 读取,因此无缘无故出现了一些标点符号。我可以删除其中的大部分,除了“|”。
这是我的数据:
c("| January 2,310,501 2,342,654 + 14%", "| February 2,221,036 2,316,278 + 4.3%", )
我希望我的数据可以是这样的:
c("January 2,310,501 2,342,654 + 14%", "February 2,221,036 2,316,278 + 4.3%",)
从附图中可以看出,“|”改变了我的数据结构,我不能简单地从第二列读取数据。我想要的是删除“|”元素。然后其余的元素可以向前移动。您还可以找到附加的文件。谢谢您的帮助。
您可以使用 lapply
删除 "|"
的元素。
lapply(test2, function(x) x[x != '|'])
#[[1]]
#[1] "January" "test"
#[[2]]
#[1] "February" "2, 602,33"
同样,在purrr
map
purrr::map(test2, ~.x[.x != '|'])
对于更新的数据,我们可以使用 gsub
test <- trimws(gsub('\|', '', test))
test
# [1] "January 2,310,501 2,342,654 + 14%" "February 2,221,036 2,316,278 + 4.3%"
# [3] "March 2,602,503 2,571,661 ( -1.2% )" "April 2,471,788 2,485,989 i 0.6%"
# [5] "May 2,418,547 2,512,922 + 3.9%" "June 2,412,882 2,430,232 + 0.7%"
# [7] "July 2,462,907 2,535,594 + 3.0%" "August 2,526,211 2,638,753 + 4.5%"
# [9] "September 2,434,132 2,480,466 * + 1.9%" "October 2,552,215 2,642,990 * + 3.6%"
#[11] "November 2,306,106 2,428,806 + 5.3%" "December _ 2,283,294 2,250,016 ( -1.5% )"
数据
test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))
我们可以使用setdiff
lapply(test2, setdiff, "|")
#[[1]]
#[1] "January" "test"
#[[2]]
#[1] "February" "2, 602,33"
数据
test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))