相关疑难解决方法(0)

R:无效的多字节字符串

我使用read.delim(filename)而没有任何参数来读取R中的制表符分隔文本文件.

df = read.delim(file)
Run Code Online (Sandbox Code Playgroud)

这按预期工作.现在我有一个奇怪的错误消息,我无法理解它:

Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : 
invalid multibyte string at '<fd>'
Calls: read.delim -> read.table -> type.convert
Execution halted
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释多字节字符串是什么?fd是什么意思?还有其他方法可以读取R中的选项卡文件吗?我有列标题和行,没有所有列的数据.

r

39
推荐指数
3
解决办法
11万
查看次数

R:从用RCurl抓取的网页中提取"干净"的UTF-8文本

使用R,我试图刮一个网页,将日文文本保存到文件中.最终,这需要扩展到每天处理数百页.我已经在Perl中有一个可行的解决方案,但我正在尝试将脚本迁移到R以减少在多种语言之间切换的认知负荷.到目前为止,我没有成功.相关的问题似乎是关于保存csv文件将此希伯来文写入HTML文件的问题.但是,我没有成功地根据那里的答案拼凑出一个解决方案.编辑:关于R的UTF-8输出的这个问题也是相关的但是没有解决.

这些页面来自Yahoo! 日本财务和我的Perl代码看起来像这样.

use strict;
use HTML::Tree;
use LWP::Simple;
#use Encode;
use utf8;

binmode STDOUT, ":utf8";

my @arr_links = ();
$arr_links[1] = "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=7203";
$arr_links[2] = "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=7201";

foreach my $link (@arr_links){
    $link =~ s/"//gi;
    print("$link\n");
    my $content = get($link);
    my $tree = HTML::Tree->new();
    $tree->parse($content);
    my $bar = $tree->as_text;
    open OUTFILE, ">>:utf8", join("","c:/", substr($link, -4),"_perl.txt") || die;
    print OUTFILE $bar;
}
Run Code Online (Sandbox Code Playgroud)

此Perl脚本生成一个类似于下面屏幕截图的CSV文件,其中包含可以离线挖掘和操作的正确的汉字和假名:

Perl脚本生成的CSV文件

我的R代码,如下所示,如下所示.R脚本与刚刚给出的Perl解决方案不完全相同,因为它不会删除HTML并留下文本(这个答案暗示了一种使用R的方法,但在这种情况下它对我不起作用)并且它没有循环等等,但意图是一样的.

require(RCurl)
require(XML)

links <- list()
links[1] <- "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=7203"
links[2] <- "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=7201"

txt …
Run Code Online (Sandbox Code Playgroud)

r web-scraping rcurl

15
推荐指数
1
解决办法
5124
查看次数

Read.csv()抛出错误

我一直在尝试阅读excel文件但看起来有些不对劲.该文件以excel格式存储在Documents文件夹中.

这些是我得到的错误消息:

table <- read.csv(file.choose(),header=T,sep='\t')

Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  line 1 appears to contain embedded nulls
2: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 
Run Code Online (Sandbox Code Playgroud)

此外,由于这些是警告,我碰巧忽略了它们.但是没有任何东西被读入"表格":

table
# [1] PK...
# <0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

r read.csv

7
推荐指数
2
解决办法
4万
查看次数

标签 统计

r ×3

rcurl ×1

read.csv ×1

web-scraping ×1