在R中将一列数据转换为两列

在R中将一列数据转换为两列,r,R,我有一个文本文件,它有一列1800个条目,实际上是两组数据(大小、年龄)的组合。第一个数字(行1,列1)是大小1,第二个数字(行2,列1)是年龄1,第三列(行3,列1)是大小2,第四个数字(行4,列1)是年龄2,依此类推。有人知道如何将其拆分为两列矩阵,每列包含900个条目吗?假设您有data.framedf。那就试试这个 Size <- df[seq(from = 1, to = nrow(df), by = 2), 1] Age <- df[seq(from = 2, to =

我有一个文本文件,它有一列1800个条目,实际上是两组数据(大小、年龄)的组合。第一个数字(行1,列1)是大小1,第二个数字(行2,列1)是年龄1,第三列(行3,列1)是大小2,第四个数字(行4,列1)是年龄2,依此类推。有人知道如何将其拆分为两列矩阵,每列包含900个条目吗?

假设您有
data.frame
df。那就试试这个

Size <- df[seq(from = 1, to = nrow(df), by = 2), 1]
Age <- df[seq(from = 2, to = nrow(df), by = 2), 1]
dfNew <- data.frame(Size, Age)

Size假设您有
data.frame
df。那就试试这个

Size <- df[seq(from = 1, to = nrow(df), by = 2), 1]
Age <- df[seq(from = 2, to = nrow(df), by = 2), 1]
dfNew <- data.frame(Size, Age)

Size你可以用它做一个矩阵,然后用那种方法来做

matrix(DF[,1], ncol=2, byrow=TRUE)

其中,
DF
是您将数据读入的data.frame。

您可以用它制作一个矩阵,并以这种方式进行操作

matrix(DF[,1], ncol=2, byrow=TRUE)

其中,
DF
是您将数据读入的data.frame。

如果您有一个包含交替大小和年龄数据的向量
x

df <- do.call(data.frame, split(x, c("size", "age")))

这不是最有效的方法,但它会自动为您免费提供列名。

如果您有一个包含交替大小和年龄数据的向量
x

df <- do.call(data.frame, split(x, c("size", "age")))

这不是最有效的方法,但它会自动为您免费提供列名。

我知道!但我不知道你的数据是什么样子,也不知道你到目前为止尝试过什么。。。我会从
read.table
read.csv
开始,但如果你能发布一些上述文件,我可以肯定地告诉你!我曾使用read.table函数将表读入R,但当时遇到了阻碍。数据的前几行是这样的:121.4596925 8.268601722 115.2194678 6.273456593 148.9 16.8 117.7088225 8.19989356 271.5483869 96.45334797然后MYaseen208给出的答案应该有效。我会的!但我不知道你的数据是什么样子,也不知道你到目前为止尝试过什么。。。我会从
read.table
read.csv
开始,但如果你能发布一些上述文件,我可以肯定地告诉你!我曾使用read.table函数将表读入R,但当时遇到了阻碍。数据的前几行是这样的:121.4596925 8.268601722 115.2194678 6.273456593 148.9 16.8 117.7088225 8.19989356 271.5483869 96.45334797那么下面给出的答案MYaseen208应该有效。