R 3.0.1 安装包RCurl, rjson

环境: windows 7, R 3.0.1

安装h2o的时候发现无法在线安装这两个包rjson, RCurl,因此把这两个放在迅雷上下载到本地安装
http://ftp.ctex.org/mirrors/CRAN/bin/windows/contrib/3.0/rjson_0.2.14.zip
http://ftp.ctex.org/mirrors/CRAN/bin/windows/contrib/3.0/RCurl_1.95-4.3.zip

install.packages(“d:/Downloads/RCurl_1.95-4.3.zip”, repos=NULL, type=”source”)
install.packages(“d:/tdDownload/RCurl_1.95-4.3.zip”, repos=NULL, type=”source”)

R 3.0.1 安装包RCurl, rjson

环境: windows 7, R 3.0.1

安装h2o的时候发现无法在线安装这两个包rjson, RCurl,因此把这两个放在迅雷上下载到本地安装
http://ftp.ctex.org/mirrors/CRAN/bin/windows/contrib/3.0/rjson_0.2.14.zip
http://ftp.ctex.org/mirrors/CRAN/bin/windows/contrib/3.0/RCurl_1.95-4.3.zip

install.packages(“d:/Downloads/RCurl_1.95-4.3.zip”, repos=NULL, type=”source”)
install.packages(“d:/tdDownload/RCurl_1.95-4.3.zip”, repos=NULL, type=”source”)

rJava安装

环境: R 64bit,  Rstudio, JDK 64bit,  Windows 7 64bit
由于想使用rmmseg4j来用中文分词,因而必须安装rJava。但发现出现问题:
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: 无法载入共享目标对象‘D:/program/R/R-2.15.1/library/rJava/libs/x64/rJava.dll’::
  LoadLibrary failure:  %1 不是有效的 Win32 应用程序。

此外: 警告信息:
程辑包‘rJava’是用R版本2.15.3 来建造的 
错误: ‘rJava’程辑包/名字空间载入失败,


问题描述: R查找dll文件有问题

解决方法: 添加C:\\Program Files\\Java\\jdk1.6.0_10\\jre\\bin\\server环境变量path,即将jvm.dll这个库加入。 然后重启RStudio

R语言XML包readHTMLTable中文乱码

环境: Windows 7,  Ubuntu 12,  RStudio Desktop
问题: 使用安装在windows 7 上的RStudio desktop, 用包XML中的readHTMLTable读取网页上的<table>数据,例:
library(XML)
u = ‘http://tech.163.com/special/00094IGJ/top1000.html’
url = htmlParse(u, encoding=”GB2312″)
tables = readHTMLTable(url)
raw = tables[[6]]
查看raw中文显示乱码, 查看sessionInfo(),
R version 2.15.1 (2012-06-22)
Platform. x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936 
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936   
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C                                                   
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] XML_3.95-0.1

loaded via a namespace (and not attached):
[1] tools_2.15.1

这个与操作相关, 可以尝试更改Sys.setlocale("LC_CTYPE", "UTF-8"),但报“操作系统报告说无法执行将本地化设成"UTF-8"的请求”。


在Ubuntu中使用RStudio却能正确显示中文,查看sessionInfo()
R version 2.14.1 (2011-12-22)
Platform. x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C           
 [4] LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C       
 [7] LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C        
[10] LC_TELEPHONE=C       LC_MEASUREMENT=C ""LC_IDENTIFICATION"" =C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
[1] tools_2.14.1



造成的原因推测是XML包编码方式与操作系统的字符编码相关。 有高手知道的具体原因的请帮忙解答下。

python 无法使用numpy

环境: Ubuntu 12.4

>>> import numpy
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “/usr/lib/python2.7/dist-packages/numpy/__init__.py”, line 137, in <module>
import add_newdocs
File “/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py”, line 9, in <module>
from numpy.lib import add_newdoc
File “/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py”, line 13, in <module>
from polynomial import *
File “/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py”, line 11, in <module>
import numpy.core.numeric as NX
AttributeError: ‘module’ object has no attribute ‘core’
>>>

解决方法:   sudo apt-get remove libopenblas-base

Python PIL图片数据操作

环境: Ubuntu 12.4

模式

1  1位像素,黑和白,存成8位的像素
L  8位像素,黑白
P  8位像素,使用调色板映射到任何其他模式
RGB  3×8位像素,真彩
RGBA  4×8位像素,真彩+透明通道
CMYK  4×8位像素,颜色隔离
YCbCr  3×8位像素,彩色视频格式
I  32位整型像素
F  32位浮点型像素

导入图片处理库
>>>from PIL import Image
加载图片文件
>>>im = Image.open(‘aa.jpeg’)
输出文件的格式,大小,模式
>>> print im.format, im.size, im.mode
JPEG (510, 333) RGB

显示图片
>>> im.show()

白化图片
>>> im.convert(‘1’).show()

获取图片pixel数据
方法一:
>>> import numpy
>>> numpy.asarray(im)[100, 100]

array([254, 167, 175], dtype=uint8)

方法二:
>>> im.getpixel((100, 100))
(254, 167, 175)

方法三:

>>> im.load()[100, 100]
(254, 167, 175)

几何转变提供resize,rotate等方法,用以重定义图片大小,对图片进行旋转等操作。
>>> im.resize((250, 150)).show()
>>> im.rotate(45).show()

图片加强

滤镜
ImageFilter模块提供了很多预定义的图片加强滤镜
>>>import ImageFilter
>>> im.filter(ImageFilter.DETAIL).show()

>>>import ImageEnhance
>>>ImageEnhance.Contrast(im).enhance(1.5).show()

通道
一个图片包含一个或多个数据通道, 如果这些通道有相同的长度和宽度, 可以进入叠加
>>> r,g,b = im.split()
>>>r.sohw()
>>>g.show()
>>>b.show()
>>>im2 = Image.merge(‘RGB’, (b,g,r))

crontab调度Python脚本

环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga),  python 2.7
由于本人对shell脚本语法相当不喜欢,一般与操作系统打交道用python脚本。在用crontab调度python脚有两个地方要注意:
1.  在python脚本中增加#!/usr/bin/env python来声明执行程序在系统环境变量中的名字
2.  在crontab中增加. $HOME/.bash_profile来调用bash_profile来声明环境变量,例: 19 16 * * * . $HOME/.bash_profile;/home/oradev/wget_test.py
注:  文件wget_test.py为可执行状态 — chmod +x wget_test.py
        该文件的目录必须在环境变量PATH 内。
还遇到一问题就是脚本不执行也不报错,最终发现python有两个版本,一个版本在/usr/bin/python是2.4.3,将其删除并指定软链接 ln -s /usr/local/bin/python2.7 /usr/bin/python