在r中的数据帧中将行拆分为列
导出后如何拆分此列 我需要将行中的每个值作为一个单独的列用空格分隔 目前我有:在r中的数据帧中将行拆分为列,r,string,row,R,String,Row,导出后如何拆分此列 我需要将行中的每个值作为一个单独的列用空格分隔 目前我有: 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
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%strsplit(SPS_X,”)
但这些并不能满足我的需要
另外,我的数据框有>5000000行基于您的共享链接制作此
脚本
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
file您可以使用read.table
将行拆分为列
数据:
x尝试库(splitstackshape);cSplit(df1,“V1”和“”)
在base R中,您可以执行SPS_X1感谢@AllanCameron的回答,但是这个命令返回“结果的列数不是向量长度的倍数(arg 2)”,我在[link]中共享了基文件(),谢谢,这是一个很好的工作,但只返回第一行。。。L
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(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"))