R编程:保存不同空间长度的数据

时间:2016-10-31 18:54:46

标签: r

我正在尝试使用R将数据保存为另一种分析软件的特定格式。例如,我的数据是:

Jane  2  3  0  1
Joe   2  0  1  1
John  1  0  0  0
Jack  2  1  3  1
Jay   0  0  0  0

我想以下列格式将数据保存到.txt文件中:

Jane  2301
Joe   2011
John  1000
Jack  2131
Jay   0000

如果我使用write.table(....., sep = ""),名称和数字之间将没有空格。如何只在名称和数字之间保存文件?非常感谢你!

2 个答案:

答案 0 :(得分:0)

Jane  2  3  0  1
Joe   2  0  1  1
John  1  0  0  0
Jack  2  1  3  1
Jay   0  0  0  0

d <- read.table(con<-file("clipboard"), header = F)

d1 <- data.frame(col1 = d$V1, 
                 col2 = paste0(d$V2,d$V3,d$V4,d$V5))

write.table(d1, sep = " ", row.names = F)

答案 1 :(得分:0)

在保存之前,您需要更改R中的数据格式。在这里,我使用unite中的tidyr将所有这些列推送到一起(在此示例中它仅忽略V1,其余部分合并在一起)

阅读样本数据:

df <-
  read.table(
    text = 
"
Jane  2  3  0  1
Joe   2  0  1  1
John  1  0  0  0
Jack  2  1  3  1
Jay   0  0  0  0"
  )

运行unite

df %>%
  unite(singleData, -V1, sep = "")

返回:

    V1 singleData
1 Jane       2301
2  Joe       2011
3 John       1000
4 Jack       2131
5  Jay       0000