楼主: hooli
5333 14

[学习分享] 对R in action(R语言实战)中代码7-15错误的纠正 [推广有奖]

11
nixuehua 发表于 2016-4-7 23:02:54 |只看作者 |坛友微信交流群
jz.mraz 发表于 2015-2-26 13:08
构建mytable 的时候用这个:
mytable
不好意思,您的方法是正确的,我的自定义函数写错了,非常感谢

使用道具

12
Sabergy 发表于 2016-7-8 18:17:34 |只看作者 |坛友微信交流群
dragonp 发表于 2016-1-24 20:24
for (j in 1:dfFreq){

书中这里也是有问题的,如果Freq返回的只有0,如:for(j in 1:0) print("haha"), ...
有0数据的时候确实有问题唉, 换了一下代码,终于行了

table2flat = function(mytable){
  df = as.data.frame(mytable)
  rows = nrow(df)
  cols = ncol(df)
  x = NULL
  for(i in 1 : rows){
    while(df$Freq > 0){  
      # " for (j in 1:df$Freq)" isn't proper in "0" condition
      row = df[i, c(1:(cols - 1))]
      x = rbind(x, row)
      df$Freq = df$Freq - 1
    }
  }
  row.names(x) = c(1:nrow(x))
  return(x)
}

使用道具

13
javateng 发表于 2016-8-4 09:38:20 |只看作者 |坛友微信交流群
hooli 发表于 2015-2-26 15:01
赫赫,谢谢交流。你是从为什么mytable的Freq列是一个factor的角度来分析这个结果,并提到了关于Matrix的一个 ...
昨天刚看到这块,捣鼓半天没搞出来,多谢

使用道具

14
javateng 发表于 2016-8-26 15:36:45 |只看作者 |坛友微信交流群
hooli 发表于 2015-2-26 15:01
赫赫,谢谢交流。你是从为什么mytable的Freq列是一个factor的角度来分析这个结果,并提到了关于Matrix的一个 ...
7-7这里比较坑爹,7-8里面有引用mystats,修改后就用不了,又得改回原来的

使用道具

15
Haotian.CHU 发表于 2017-7-26 15:31:34 |只看作者 |坛友微信交流群
  1. mytable <- as.data.frame(cbind(treatment,improved,Freq),stringsAsFactors = FALSE)
复制代码

定义mytable时加一句stringsAsFactors = FALSE也能解决问题

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-19 10:34