R:使用元素名称选择或更改元素

时间:2016-04-04 05:05:16

标签: r subset element

lifespan <- abs(round(100*sin(1: 99)) );
smoker=rep(c("no","no","yes"),33);
treatment=rep(c("yes","no"),length=99);
  

基本问题是:我想做一些使用元素名称更改和选择元素的工作,如“是”或“否”。

     

这个基本问题导致了许多问题:#1:将“吸烟者”转换为一个因素,但将“是”改为“s”而将“否”改为“x”   我尝试了两种方法:   1st:将其转换为因素并更改级别名称

as.factor(smoker);
levels(smoker)=c("x","y") ;
  

第二:事先将“是”更改为“s”,将“否”更改为“x”,我之前说过我不能这样做。

smoker["yes"]<-"x" ;
  

问题2:将“生命周期”转换为具有4个级别“小于25”,“25小于50”,“50小于80”,“80或更大”的因子,同时将每个组的名称改为“group1”......“group4”。这更严重,因为我甚至无法让它达到4级。

     

问题3:

df=data.frame(lifespan,smoker,treatment);
  

获得2组的中位数和方差:接受治疗的非吸烟者和未接受治疗的非吸烟者

2 个答案:

答案 0 :(得分:1)

Python3:

for i in range(1,101):
    print(i, end=" " if i%10 else '\n')

Python2:

for i in range(1,101):
    print str(i) + '' if i%10 else '\n',

答案 1 :(得分:0)

尝试以下方法:

x= range(1, 101)
y = "\n".join(["\t".join(map(str, x[i:i+10])) for i in range(0, len(x), 10)])
>>> x= range(1, 101)
>>> y = "\n".join(["\t".join(map(str, x[i:i+10])) for i in range(0, len(x), 10)])
>>> print y
1   2   3   4   5   6   7   8   9   10
11  12  13  14  15  16  17  18  19  20
21  22  23  24  25  26  27  28  29  30
31  32  33  34  35  36  37  38  39  40
41  42  43  44  45  46  47  48  49  50
51  52  53  54  55  56  57  58  59  60
61  62  63  64  65  66  67  68  69  70
71  72  73  74  75  76  77  78  79  80
81  82  83  84  85  86  87  88  89  90
91  92  93  94  95  96  97  98  99  100
>>>