如果您是 Mac 用户并运行以下代码,您将获得一个包含 173,962 行的数据框。如果您是 Windows 用户,您的数据集将只有 8,999 行。谁能告诉我为什么?我怎样才能在我的电脑上将数据读入 R?
这是我的数据:.txt file
d<-read.table("Stream4_1.13.16t.txt", sep="", skip=10, quote = "", fill=T, header=F)
我正在处理由一种独特且不常见的软件(被动集成转发器系统,PIT)创建的检测数据,该软件有时会“打乱”一行数据并产生类似于 Wingdings 字体中的奇怪字符。我的文件是用空格分隔的文本文件。我有预感这些字符可能会导致读取问题,但为什么 Mac 会有所不同?
为了检查是否需要更改编码,我运行了以下命令:
d<-read.table("Stream4_1.13.16t.txt", sep="", fileEncoding="UTF-8", skip=10, quote = "", fill=T, header=F)
d<-read.table("Stream4_1.13.16t.txt", sep="", fileEncoding="latin1", skip=10, quote = "", fill=T, header=F)
得到了这个:警告信息: 在 scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 在输入连接“Stream4_1.13.16t.txt”上发现无效输入
最佳答案
老实说,我不知道答案(虽然我下面的建议可能有值(value))并且我只使用答案框,因为这个评论太大并且需要格式化能力。 (我是 SO 受访者,他告诉您这个文件在 Mac 上很容易阅读。)这是该文件的顶部(使用从您之前的问题下载的数据):
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2016.01.13 16:42:02 =~=~=~=~=~=~=~=~=~=~=~=
u uh
NEW 2016-01-08 16:27:25.52 171953
Total 171953
>up
Upload #1
Reader: S4 Site: AA
--------- upload 1 start ---------
E 2024-01-13 15:30:52.11 reader not responding
D 2016-01-08 16:27:34.83 00:00:00.38 HA 900_226000745066 A2 4 77
D 2016-01-08 16:27:34.41 00:00:00.00 HA 900_226000745066 A4 1 218
D 2016-01-08 16:27:34.59 00:00:00.62 HA 900_226000745066 A4 6 1
D 2016-01-08 16:27:34.41 00:00:00.00 HA 900_226000745066 A2 1 35
D 2016-01-08 16:27:34.59 00:00:00.62 HA 900_226000745066 A2 6 1
# snipped a bunch of lines
D 2016-01-08 16:29:26.86 00:00:00.86 HA 900_226000745060 A2 8 85
D 2016-01-08 16:29:28.21 00:00:00.32 HA 900_226000745060 A2 4 3
D 2016-01-08 16:29:28.70 00:00:00.12 HA 900_226000745060 A2 2 1
E 2016-01-08 16:36:00.00 date/time changed. Was 2016-01-08 16:29:37.80
D 2016-01-08 16:36:06.95 00:00:00.26 HA 900_226000745018 A2 3 136
D 2016-01-08 16:36:07.63 00:00:00.12 HA 900_226000745060 A2 2 3
D 2016-01-08 16:36:09.41 00:00:00.25 HA 900_226000745060 A2 3 13
D 2016-01-08 16:36:17.41 00:00:00.48 HA 900_226000745060 A2 5 65
D 2016-01-08 22:09:05.68 00:00:00.00 HA 00000 0 900 226000745000 2260007450?0 A4 1 0
D 2016-01-10 18:16:56.61 00:00:00.00 HA 00000 0 900 22600070 900 2260007450;1 A4 1 1
D 2016-01-08 16:36:30.62 00:00:00.19 HA 900_226000745060 A2 3 7
D 2016-01-08 16:36:31.04 00:00:00.31 HA 900_226000745060 A2 4 1
D 2016-01-08 16:36:33.02 00:00:00.12 HA 900_226000745066 A2 2 13
D 2016-01-08 16:36:41.07 00:00:00.13 HA 900_226000745066 A2 2 65
D 2016-01-10 15:38:39.74 00:00:00.00 HA 00000 0 900 22600074 900 2260007450?6 A2 1 1
D 2016-01-08 16:36:42.19 00:00:00.00 HA 900_226000745066 A2 1 1
D 2016-01-08 16:36:54.03 00:00:00.73 HA 900_226000745060 A2 7 101
D 2016-01-08 16:36:55.14 00:00:00.24 HA 900_226000745060 A2 3 2
D 2016-01-08 16:36:55.56 00:00:00.00 HA 900_226000745060 A2 1 1
D 2016-01-08 16:36:57.96 00:00:00.00 HA 900_226000745060 A2 1 19
尝试用 read.table 读取这个文件是一个注定要失败的希望。对于以“D”开头的行,这是带有数据的行,它是固定宽度格式。一个更明智的方法(一旦你弄清楚了编码和字体混淆)是使用 readLines 创建一个 txt_obj,用 grepl("^D ", txt_obj) 然后用read.fwf解析
关于R read.table() 从 pc vs mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34933858/
我需要一个表,其中行实际上是2行表,一个嵌套表是..我怎样才能在Prawn中做到这一点?也许我需要延期..但哪一个? 最佳答案 现在支持子表:Prawn::Document.generate("subtable.pdf")do|pdf|subtable=pdf.make_table([["sub"],["table"]])pdf.table([[subtable,"original"]])end 关于ruby-on-rails-PrawnPDF:Ineedtogeneratenested
我正在寻找一个清晰的Rails4示例,说明如何根据通过另一个表关联的数据过滤记录。假设我有一个用户模型和一个评论模型。一个用户has_many评论,一个Commentbelongs_to一个用户。评论在其表中也有一个score列。classUserUsers|id|name|email||-----|---------|---------------------||1|"Alice"|"alice@example.com"||2|"Bob"|"bob@example.com"||...|classComment我如何获得所有对内容“k”发表评论且分数>0的用户?请注意,我要返回的是用户
我想在请求期间动态更改ActiveRecord模型类的表名。例如,有许多具有相似结构(列)的表:mydb:sample_data_12222sample_data_12223sample_data_12224sample_data_12225...所以,我想做的是..._1。定义基本模型类,如:classSampleData_2。在请求期间更改目标表,例如:defaction_methodSampleData.set_table_name"sample_data_#{params[:id]}"@rows=SampleData.all如果在非线程环境(如Passenger/mod_rai
我在prawn中创建了一个表,并希望通过whih传递:position选项,这在手册中也有记录,但它引发了Method_missing错误。好像这个参数不存在了。我怎样才能让Prawn居中? 最佳答案 我遇到了同样的错误。从Github上的master安装解决了这个问题。#Gemfilegem'prawn',git:'https://github.com/prawnpdf/prawn.git'IssuethreadonGithub 关于ruby-on-rails-如何在Prawn中居中t
我正在尝试使用RubygemRestClient为我的一个FusionTables更新样式。这是我的代码:require'rest_client'tableId=''styleId=''key=''table_url="https://www.googleapis.com/fusiontables/v1/tables/#{tableId}/styles/#{styleId}?key=#{key}"update='{"polygonOptions":{"strokeColor":"#ffffff"}}'token='STRINGCONTAININGAUTHORIZATIONTOKEN'R
我正在使用RubyonRails,我不再需要我的表Order,所以我使用SQLite管理器删除了它。我怎样才能在heroku中删除表?编辑我收到错误db/migrate/20110806052256_droptableorders.rb:10:syntaxerror,unexpectedkeyword_end,expecting$end当我运行命令时classDropTableOrder 最佳答案 如果你不想创建一个迁移来删除表并且不能回滚以前的迁移,因为你不想丢失迁移后创建的表中的数据,你可以在heroku控制台上使用以下命令来放
我一直在用CSV.table做一些测试。我有两个几乎相同的小CSV文件,但其中一个缺少标题行。当我对带有标题行的CSV文件运行CSV.table时,一切都按预期进行。当我针对没有标题行的CSV文件运行它时,我得到:NoMethodError:undefinedmethod`encode'fornil:NilClass我用不同类型的数据、不同类型的header尝试了这个,并得到了相同的结果。我很好奇CSV.table的魔力。如果我使用CSV.parse并将标题设置为true,那么无论如何它总是使第一行成为标题。所以,我一直在使用CSV.table来检查导入的CSV文件是否有标题行,但我对
我用railsgeneratemodelmynewmodelstring:namestring:description生成一个新模型。如何将这个新模型部署到我的开发数据库中?我的sqlite数据库中已经有一堆数据库。我试过了rakedb:migrate在db中生成这个新表似乎有问题。更新:添加了错误信息==CreateMynewmodels:migrating===============================================--create_table(:mynewmodels)rakeaborted!Anerrorhasoccurred,thisandal
我正在尝试将一个简单的应用程序推送到heroku并运行:herokurakedb:migrate但是我得到以下错误:rakeaborted!PGError:ERROR:relation"posts"doesnotexist:SELECTa.attname,format_type(a.atttypid,a.atttypmod),d.adsrc,a.attnotnullFROMpg_attributeaLEFTJOINpg_attrdefdONa.attrelid=d.adrelidANDa.attnum=d.adnumWHEREa.attrelid='"posts"'::regclass
对于我通过Heroku托管的Ruby-on-Rails应用程序,我最近下载了一个备份,在本地恢复它,然后从外部来源将数据添加到数据库中。一切正常。在使用herokupg:pushHEROKU_DATABASE_URL--app将更新后的数据库推送到Heroku之后该应用程序运行良好,我可以看到新添加的数据。但是今天当我尝试在Heroku上登录该应用程序时,我收到了错误消息。在我的日志文件中,我看到了这个错误:ActionView::Template::Error(Unknownprimarykeyfortable...根据这篇SO帖子:Getting"Unknownprimarykey