我想创建一个向量,其中每个元素是i+6th另一个向量的元素.
例如,在长度为120的向量中,我想创建另一个长度为20的向量,其中每个元素是i, i+6, i+12, i+18...初始向量的值,即我想要提取原始的每个第6个元素.
我有一个数据框,例如:
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每一行.
我有一个数据框(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)
我相信这一定很容易解决,但我还没有找到办法.
有谁知道如何加快运行以下命令?我想用字符串替换数字"月"值...例如,第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) 我想运行一个for循环,它只对数据框中某列的特定元素进行计算.元素从矩阵中的相邻列引用.我可以通过直观地观察哪些元素对应于值来做到这一点 - 例如for(i in 1:5){ #在301个元素的列中.但是,我希望能够在没有对元素数字的先验知识的情况下指定它.
例如在以下的数据帧欲在柱的元素运行一个for循环data.LICOR$flux时data.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 能够识别这些数据,然后在数据框中创建一个相邻的列,该列给出一个与时间和日期列中的新日期相对应的数字。例如,data$time.date 中的 25/02/2011 13:34 将在新列 data$day 中给出 1,而 data$time.date 中的 26/02/2011 13:34 将得到 2,依此类推。 ..
有谁知道如何解决这个问题?在此先感谢您的帮助。
我有一个数据框,我想为我的数据框中的每个因素添加一个索引,例如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)
任何人都可以解释如何这样做?提前致谢.
我想在数据框中添加一列,它将编码一个因子的特定级别.例如
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)
在此先感谢您的帮助.