通过在id列后插入空格来写出数据集

时间:2019-07-18 17:55:35

标签: r export

我想写出一个数据集。这是数据集的示例。

id <- c(1,1,2,2,3,3)
gender <- c("m","m","f","f","m","m")
score <- c(10,5,10,5,10,5)
data <- data.frame("id"=id,"gender"=gender, "score"=score)

> data
  id gender score
1  1      m    10
2  1      m     5
3  2      f    10
4  2      f     5
5  3      m    10
6  3      m     5

当我将数据集导出为.dat文件时,我想将id列和其他变量分开。

这是我用的:

write.table(data, file="C:/User/Desktop/data.dat", row.names = FALSE, col.names = FALSE, sep="", quote=FALSE)

输出文件如下:

1m10
1m5
2f10
2f5
3m10
3m5

但是,我想要一个.dat文件看起来像这样:

1   m10
1   m5
2   f10
2   f5
3   m10
3   m5

在这种情况下,变量应从第5列开始。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果使用sep = "",则变量之间将没有空格。您可以使用sep = " "添加空格。如果要在一个文件中使用空格而没有空格,则必须像这样操作数据:

data <- data %>%
  mutate(genderscore = paste0(gender, score)) %>%
  select(id, genderscore)

write.table(data, file="C:/User/Desktop/data.dat", row.names = FALSE, col.names = FALSE, sep=" ", quote=FALSE)

输出:

1   m10
1   m5
2   f10
2   f5
3   m10
3   m5