petboy

  •  
  • 24 天前
  • 注册于 2009年12月2日
  • 好久没去R-Project,竟然都到14版了,看月底都要release 14.1了,这更新也太快了吧~~ 感觉又out了,what's new里一堆新的,看来base package里的材料要重新review了

  • 有事不能聆听了~~ 祝顺利!

  • 曾经读excel有碰到精度问题,类似A列可能是整数型的数值20,B列是浮点型的数值20. 在这种情况下A!=B, 试了下A-B大概等于1.000089e-11(有点久,忘了),后来就只能用signif或round函数来做整合。

    应该说excel真的不是那么好使~~

  • 用RODBC包读取应该可以实现,不过就像很多人说的,没人知道excel里的格式是什么,有时就是做个筛选也会多出一些sheet干扰你的读取~~

    能不用就尽量不要用吧~~

  • thanks very much~~ 有试过parse和eval 但没想到前面加'text=~~~',多谢了。这样对很多矩阵就能写算法了。

  • 正常的expression容易在函数中实现,但不知如何把字符串转化为表达式去计算?

    如下函数若加了""那边表现的就不是想要的字符了,不知有何办法~~ (同时摄氏度有直接的代码可以用吗?)

    <br />
    >plot(1,type='n')<br />
    >text(1,1,expression(8*degree*C)) # 表现为8℃<br />
    >text(1,1.2,expression("8*degree*C")) # 直接表现为“8*degree*C",不知如何转变??</p>
    <p>>expression(8*degree*C)<br />
      expression(8 * degree * C)<br />
    >expression("8*degree*C")<br />
    expression("8*degree*C")<br />
    
    </p>
  • 好像windows到2G就极限了,不过我曾碰到两种情况,一种是直接显示内存不足,退出运算,还一种是warning的形式,但运行正常,我想重现但没成功,不然也可以拿来讨论下。

  • 呵呵 又学了一招~

    不过,扩展包提供了一个很大的优势就是可以对subdata作任何想做的事情,然后return返回。这个便利性还是非常好的。

  • 缺少个‘)’号,再仔细看看,书上并不一定就全对~~

  • 非常感谢 平时都用基础包这些扩展包没接触到~ 看来要花时间好好看看了 呵呵

    发现R的数据类型太多了

    最近为这个function找了些函数试验,发现有'by类型','ftable类型','"xtabs" "table"类型',好多好杂,发现数据提取面没那么熟悉,呵呵。

  • 或做如下的计算,得出df.A$Value最大值时因子C值的数据筛选,以下都是for循环,数据量大的情况下太慢了~ 不知可有好的建议[s:15]

    <br />
    > df.B <- aggregate(list(Max=df.A[,'Value']),df.A[,c('A','B')],max)<br />
    > for(i in 1:nrow(df.B)){df.B$C[i]<-as.character(df.A[df.A[,1]==df.B[i,1]&df.A[,2]==df.B[i,2]&df.A[,3]==df.B[i,3],'C'])}<br />
    > df.B<br />
      A B Max C<br />
    1 a q   8 r<br />
    2 b q   9 s<br />
    3 c q   5 w</p>
    <p>
    </p>
  • 对于类似的数据df.A,不知根据条件刷选出子数据可有好的方法。

    如下是用for循环做的,但如果数据量巨大的话,很费时间,不知有什么好的矩阵方式可以做。

    <br />
    > (df.A <- data.frame(A=rep(c('a','b','c'),3),B=rep('q',9),Value=sample(9),C=tail(letters,9)))<br />
      A B Value C<br />
    1 a q     7 r<br />
    2 b q     3 s<br />
    3 c q     8 t<br />
    4 a q     5 u<br />
    5 b q     6 v<br />
    6 c q     4 w<br />
    7 a q     2 x<br />
    8 b q     9 y<br />
    9 c q     1 z<br />
    > df.B <- aggregate(list(Count=df.A[,'Value']),df.A[,c('A','B')],length)<br />
    ## df.B 做筛选用,根据factor A,B得出如下子数据<br />
    > df.C<-list()<br />
    > for(i in 1:nrow(df.B)){df.C[[i]]<-(df.A[df.A[,1]==df.B[i,1]&df.A[,2]==df.B[i,2],])}<br />
    > df.C<br />
    [[1]]<br />
      A B Value C<br />
    1 a q     8 r<br />
    4 a q     2 u<br />
    7 a q     6 x</p>
    <p>[[2]]<br />
      A B Value C<br />
    2 b q     9 s<br />
    5 b q     7 v<br />
    8 b q     3 y</p>
    <p>[[3]]<br />
      A B Value C<br />
    3 c q     4 t<br />
    6 c q     5 w<br />
    9 c q     1 z<br />
    
    </p>
  • 蛮怪~~

    <br />
    > difftime("2009-12-31","1975-4-1")<br />
    错误于as.POSIXlt.character(x, tz, ...) : 字符串的格式不够标准明确</p>
    <p>> strptime('1975-4-1','%Y-%m-%d')<br />
    [1] "1975-04-01"<br />
    > difftime("2009-12-31",strptime('1975-4-1','%Y-%m-%d'))<br />
    Time difference of NA secs
    </p>
  • 直接上文件夹"library/graphics/html/00Index.html"能打开,但后续无论点什么都是“Internet Explorer 无法显示该页面”

    没设过其它Rprofile。

  • 感觉离真相越来越近了~~ 望大人请教!

    help('plot.default',help_type='html') ———— fail

    help('plot.default',help_type='text') ———— 一切正常

    getOption('browser') ———— 返回"NULL"

    曾经改过Rprofile.site里的参数如下,但help出来的还是IE 不是R里的text文档。

    # set the default help type

    options(help_type="text")

    # options(help_type="html")

  • 2.11;2.12都出现一样的问题 在R、Rterm中都是一样的情况。比如help('plot')能打开,但点击里面的连接plot.defaule就立马挂了~~~

  • 关了UAC,以管理员运行都还是一样的问题 不知有谁也碰到过类似的问题~~

  • “运行help()后,能够找到我想要的帮助文档,但是会跳出一个框框,说"R for Windows GUI front-end已停止工作"然后R就关了”

    不知这个问题有解了不

    vista也一直存在这个问题 在XP的机子里就ok

  • substitute 学习了

    其实还蛮有用的,今天就在想这个问题

    比如这样就十分方便了:

     file_name <- dir(...)<br />
            for (i in file_name ){<br />
                junk <- read.table(i,...)<br />
                sqlSave(junk,**,tablename=as.character(substitute(i)),...)<br />
                 }<br />
    
    </p>