小编Rod*_*ger的帖子

提取向量的每个第n个元素

我想创建一个向量,其中每个元素是i+6th另一个向量的元素.

例如,在长度为120的向量中,我想创建另一个长度为20的向量,其中每个元素是i, i+6, i+12, i+18...初始向量的值,即我想要提取原始的每个第6个元素.

r vector

114
推荐指数
3
解决办法
10万
查看次数

从数据框中删除特定行

我有一个数据框,例如:

sub   day
1      1
1      2
1      3
1      4
2      1
2      2
2      3
2      4
3      1
3      2
3      3
3      4
Run Code Online (Sandbox Code Playgroud)

我想删除可以通过sub和day的组合识别的特定行.例如,我想删除sub ='1'和day ='2'以及sub = 3和day ='4'的行.我怎么能这样做?我意识到我可以指定行号,但这需要应用于一个巨大的数据帧,这将是繁琐的经历和ID每一行.

r rows dataframe

24
推荐指数
3
解决办法
10万
查看次数

如何基于数据框中的分组变量创建连续索引

我有一个数据框(all_data),其中我有一个网站列表(1 ...到n)和他们的分数,例如

  site  score
     1    10
     1    11  
     1    12
     4    10 
     4    11
     4    11
     8    9
     8    8
     8    7
Run Code Online (Sandbox Code Playgroud)

我想创建一个列,按照数字顺序对每个级别的站点进行编号,就像一个计数器.在该示例中,站点(1,4和8)将在"数字"列中具有1到3的相应计数器:

site  score number
     1    10    1
     1    11    1 
     1    12    1 
     4    10    2
     4    11    2
     4    11    2
     8    9     3
     8    8     3 
     8    7     3
Run Code Online (Sandbox Code Playgroud)

我相信这一定很容易解决,但我还没有找到办法.

r r-faq

22
推荐指数
5
解决办法
2万
查看次数

在R中加速运行if .. else循环

有谁知道如何加快运行以下命令?我想用字符串替换数字"月"值...例如,第1个月转到"Jul".

这个命令真的很慢,因为我试图实现它的数据帧是巨大的!

for (i in 1:length(CO2$month)){
    if(CO2$month[i]=='1') {CO2$months[i]<-'Jul'} else
    if(CO2$month[i]=='2') {CO2$months[i]<-'Aug'} else
    if(CO2$month[i]=='3') {CO2$months[i]<-'Sept'} else
    if(CO2$month[i]=='4') {CO2$months[i]<-'Oct'} else
    if(CO2$month[i]=='5') {CO2$months[i]<-'Nov'} else
    if(CO2$month[i]=='6') {CO2$months[i]<-'Dec'} else
    if(CO2$month[i]=='7') {CO2$months[i]<-'Jan'} else
    if(CO2$month[i]=='8') {CO2$months[i]<-'Feb'} else
    if(CO2$month[i]=='9') {CO2$months[i]<-'Mar'} else
    if(CO2$month[i]=='10') {CO2$months[i]<-'Apr'} else
    if(CO2$month[i]=='11') {CO2$months[i]<-'May'} else
    if(CO2$month[i]=='12') {CO2$months[i]<-'Jun'}
}
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
206
查看次数

用于R中向量的循环特定元素

我想运行一个for循环,它只对数据框中某列的特定元素进行计算.元素从矩阵中的相邻列引用.我可以通过直观地观察哪些元素对应于值来做到这一点 - 例如for(i in 1:5){ #在301个元素的列中.但是,我希望能够在没有对元素数字的先验知识的情况下指定它.

例如在以下的数据帧欲在柱的元素运行一个for循环data.LICOR$fluxdata.LICOR$day.night=='d'

   data.LICOR.day.night data.LICOR.flux
1                   d       26.89
2                   d       27.89
3                   d       28.77
4                   d       28.92
5                   d       29.30
6                   n       28.51
7                   n       28.98
8                   n       28.41
9                   n       27.87
10                  n       28.18
Run Code Online (Sandbox Code Playgroud)

这是我之前的代码所做的,通过指定元素1:5和6:10分别对应于day.night ='d'和day.night ='n'

# replace day fluxes
for(i in 1:5){
    if(data.LICOR$flux[i] > av.day.flux+2*sd.day.flux)
      data.LICOR$flux[i] <- av.day.flux
    else if(data.LICOR$flux[i] < av.day.flux-2*sd.day.flux)
      data.LICOR$flux[i] <- av.day.flux 
}

# replace night fluxes
for(i in 6:10){
    if(data.LICOR$flux[i] > av.night.flux+2*sd.night.flux)
      data.LICOR$flux[i] <- …
Run Code Online (Sandbox Code Playgroud)

r

2
推荐指数
1
解决办法
3025
查看次数

在 R 中处理日期和时间数据

亲爱的,我有一个直接来自传感器的数据帧。数据在单列中提供日期和时间。我希望 R 能够识别这些数据,然后在数据框中创建一个相邻的列,该列给出一个与时间和日期列中的新日期相对应的数字。例如,data$time.date 中的 25/02/2011 13:34 将在新列 data$day 中给出 1,而 data$time.date 中的 26/02/2011 13:34 将得到 2,依此类推。 ..

有谁知道如何解决这个问题?在此先感谢您的帮助。

r

2
推荐指数
1
解决办法
3821
查看次数

为数据框中的因子添加重复索引

我有一个数据框,我想为我的数据框中的每个因素添加一个索引,例如1 ... n.这是一个带有一些虚拟数据的例子.

factor
a        
a         
a         
a        
a        
b        
b        
b        
b        
b
c
c
c
c
Run Code Online (Sandbox Code Playgroud)

我想添加一个额外的列,分别为每个因子添加索引1到n.恢复数据框架看起来像:

factor  index
a        1
a        2 
a        3 
a        4
a        5
b        1
b        2
b        3
b        4
b        5 
c        1
c        2
c        3
c        4
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释如何这样做?提前致谢.

r dataframe

2
推荐指数
1
解决办法
1349
查看次数

将因子分配给数据帧

我想在数据框中添加一列,它将编码一个因子的特定级别.例如

subject  rate
1          12
1          10 
1          13
4          4
4          6
4          12
2          9
2          2
2          5
6          17
6          10
6          1
Run Code Online (Sandbox Code Playgroud)

在上述数据框中,我希望添加一个名为"处理"的第三列,其中主题被分配给两个级别"a"或"b"中的一个.例如下面

subject  rate  treatment
1          12      a
1          10      a
1          13      a
4          4       b
4          6       b
4          12      b
2          9       b
2          2       b
2          5       b 
6          17      a
6          10      a
6          1       a  
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

r

2
推荐指数
2
解决办法
8241
查看次数

标签 统计

r ×8

dataframe ×2

r-faq ×1

rows ×1

vector ×1