小编ris*_*shi的帖子

选择具有特定列匹配条件的行

我有data.frame2291行和4列,我想选择列3与下一行的第2列匹配的行,然后从下一个匹配的行再次开始,直到匹配继续,直到它停止.

我尝试使用for循环1:nrow(df),但这不完全准确,因为i(我认为)并不真正从匹配行开始.

我目前的代码是这样的:

test <- NULL 
x <- c()
y <- c()

for(i in 1:nrow(df)){
    if(df[i,3]==df[i+1,2]){
        x <- df[i,]
        y <- df[i+1,]
        i = i+1 #stuck at this
    }
    test <- rbind(test,x,y)
}
Run Code Online (Sandbox Code Playgroud)

示例数据如下所示:

X  2670000  3750000    C
X  3830000  8680000   E3
X  8680000 10120000 E1-A
X 10120000 11130079    D
X 11170079 11810079   E3
X 11810079 12810079 E2-A
X 12810079 13530079   E3
X 13530079 14050079   E3
X 14050079 15330079    A
X 15330079 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

8
推荐指数
1
解决办法
268
查看次数

减去连续的列

假设我有一个样本data.frame如下:

1  2  3  4  5  6  7  8  9  11
2  3  4  5  6  7  8  9  10  12
3  4  5  6  7  8  9  10  11  13
Run Code Online (Sandbox Code Playgroud)

我想从我的下一列中减去每一列data.frame,所以我得到这样的结果:

1  1  1  1  1  1  1  1  2  
1  1  1  1  1  1  1  1  2  
1  1  1  1  1  1  1  1  2  
Run Code Online (Sandbox Code Playgroud)

我的真实样本有2291行和50列,我写的代码看起来像这样:

delta <- data.frame(matrix(NA, nrow = 2291, ncol = 49 )) 
for(i in 1:nrow(df)){
for(j in 1:ncol(df)-1){ …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×2

dataframe ×1