Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否将cut()的值拆分为其他列?_R - Fatal编程技术网

R 是否将cut()的值拆分为其他列?

R 是否将cut()的值拆分为其他列?,r,R,我在列上使用了cut()来存储数据。我有大约130行的结构(93.7,94.1)都在一列中。我想将这些值拆分为它们自己的列,但我很难做到这一点。以下是我到目前为止的代码: binned=cut(df$value, 136) binned_df = data.frame(levels(binned)) 以下是binned_df的前10行: (42.9,43.4] (43.4,43.8] (43.8,44.2] (44.2,44.6]

我在列上使用了cut()来存储数据。我有大约130行的结构(93.7,94.1)都在一列中。我想将这些值拆分为它们自己的列,但我很难做到这一点。以下是我到目前为止的代码:

binned=cut(df$value, 136)
binned_df = data.frame(levels(binned))
以下是binned_df的前10行:

       (42.9,43.4]
       (43.4,43.8]
       (43.8,44.2]
       (44.2,44.6]
       (44.6,44.9]
       (44.9,45.3]
       (45.3,45.7]
       (45.7,46.1]
       (46.1,46.5]
       (46.5,46.9]

有什么函数可以做到这一点吗?如果有任何帮助,我将不胜感激,因为我对R非常陌生。

我们可以使用
read.csv
在删除
]
gsub
后将列拆分为两列。它将使用
sep
作为

df1 <- read.csv(text = gsub("\\(|\\]", "", binned_df[[1]]), header = FALSE) 

df1我们可以使用
read.csv
在使用
gsub
删除
]
后,将列拆分为两个。它将使用
sep
作为

df1 <- read.csv(text = gsub("\\(|\\]", "", binned_df[[1]]), header = FALSE) 

df1
x
x所示示例的预期输出是什么?如果结构为(x,y],我希望所有的x都在它自己的列中,所有的y都在它们自己的列中。我找不到一种方法来做到这一点。如果你设置
labels=FALSE
,你可以直接从提供给
cut
的中断来构造它。所显示的示例的预期输出是什么?你需要
read.csv(text=gsub)吗(“\\(\\],”,binned_df$col),header=FALSE)
@akrun如果结构是(x,y],我希望所有的x都在它自己的列中,所有的y都在它们自己的列中。我找不到一种方法来做到这一点。如果设置
labels=FALSE
,或者
read.table(text=sub(.“,”,bined_df[[1]]),sep=“,”,comment=“”,则可以直接从提供给
cut的中断来构造它
read.table(text=sub(“.”,”,binned_df[[1]]),sep=“,”,comment=“”)
x <- c("(42.9,43.4]", "(43.4,43.8]", "(43.8,44.2]")
limits <- do.call(rbind, #combine result in matrix
                  strsplit( #split by ,
                    substring(x, 2, nchar(x) - 1), #remove first and last char
                    ",", fixed = TRUE))
mode(limits) <- "numeric" #change to numeric
limits        
#     [,1] [,2]
#[1,] 42.9 43.4
#[2,] 43.4 43.8
#[3,] 43.8 44.2