导出后如何将这一列分割开来?
我需要把一行中的每个值用空格隔开,作为一个单独的列。
目前我有。
V1
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
这就是我想要的。
V1 V2 V3 V4 V5
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
X 1111 1324.01 1258.00 5154836
我试过了
separate(col = V1, into = c("V2", "V3", "V4", "V5", "V6"), sep = " ")
和:
SPS_X1 <- SPS_X %>% strsplit(SPS_X," ")
但这些都不能满足我的需求。
P.S.我的数据框架有>5000000行。
根据你的分享链接做了这个 script
file <- "DD_1.x"
clean_data <- function(string){
no_blank <- gsub("\\s+"," ", string) # Remove extra blank spaces
strsplit(no_blank," ")[[1]] # Split string by spaces, return array
}
l <- readLines(file, n = 200) # Read first 200 lines
data.frame(do.call("rbind",lapply(l,clean_data))) # Makes dataframe
希望能帮到你。
您可以使用 read.table
到 分栏.
read.table(text=x$V1)
# V1 V2 V3 V4 V5
#1 X 1111 1324.01 1258 5154836
#2 X 1111 1324.01 1258 5154836
#3 X 1111 1324.01 1258 5154836
#4 X 1111 1324.01 1258 5154836
数据:
x <- data.frame(V1=c("X 1111 1324.01 1258.00 5154836","X 1111 1324.01 1258.00 5154836"
,"X 1111 1324.01 1258.00 5154836","X 1111 1324.01 1258.00 5154836"))