Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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/4/r/64.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
Java 以正确的方式读取和写入data.frames_Java_R_Twitter_Read.table_Write.table - Fatal编程技术网

Java 以正确的方式读取和写入data.frames

Java 以正确的方式读取和写入data.frames,java,r,twitter,read.table,write.table,Java,R,Twitter,Read.table,Write.table,我的问题很简单,我有一个文件,其中包含大量的推文,每行一条,没有引号。读取文件后,我创建了“数据集”,以随机化它并消除重复: dataset <- read.table(file, header=FALSE, sep="\n", stringsAsFactors=F) unique_ds <- unique.data.frame(dataset) random_ds <- unique_ds[sample(nrow(unique_ds)),] write.table(data.

我的问题很简单,我有一个文件,其中包含大量的推文,每行一条,没有引号。读取文件后,我创建了“数据集”,以随机化它并消除重复:

dataset <- read.table(file, header=FALSE, sep="\n", stringsAsFactors=F)
unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds),file="tweets_final.txt", sep="\n", quote=F, col.names=F, row.names=F)
第二个问题:假设每行添加一个新变量(例如tweet的一个类别),当我将以R读回它时,就像csv文件一样,这种格式是否合适:“我的tweet”,键入下面的代码

ds <- read.csv(file = "tweet_classified.txt", header = FALSE, sep = ",",stringsAsFactors = FALSE, quote = "\"")

ds好的,我用
gsub(“\”,“”,readLines(con))
替换
read.table
解决了这个问题。 当我写入文件时,我将使用
quote=T

下面是mycode:

file_list <- list.files()

for (file in file_list){
   con <- file(file)

   if (!exists("dataset")){
      dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
   }

   if (exists("dataset")){
      temp_dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
      dataset<-rbind(dataset, temp_dataset)
      rm(temp_dataset)


    }
  close.connection(con)
}

unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds, stringsAsFactors = F),file="unclassified.txt",col.names = F, row.names = F, quote = T)

file\u list一旦您开始在R中操作它,您是否需要
tweet\u classified.txt
在java和R之间可移植?特别是,一旦您
write.table()
您需要将该数据读回另一个堆栈中,还是以后只在R中使用它?为什么有
sep=“\n“
write.table()中的
?这就是在文件中,在您正在编写的data.frame的每一列之间添加一条换行符R@devmacrile很可能会有。更糟糕的是,您可能插入了多个
\n
sep字段分隔符字符串。x的每一行中的值都由该字符串分隔。
@ShawnMehan因为这个问题:sample.int(长度(x)、大小、替换、概率)中的错误:当我使用
随机数据时,当“替换=假”时,无法获取大于总体的样本
file_list <- list.files()

for (file in file_list){
   con <- file(file)

   if (!exists("dataset")){
      dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
   }

   if (exists("dataset")){
      temp_dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
      dataset<-rbind(dataset, temp_dataset)
      rm(temp_dataset)


    }
  close.connection(con)
}

unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds, stringsAsFactors = F),file="unclassified.txt",col.names = F, row.names = F, quote = T)
dataset <- read.csv(file="unclassified.txt", header=FALSE, stringsAsFactors = FALSE,quote="\"")