R의 다른 열에있는 데이터를 기반으로 뺄셈을 조건부로 수행하는 방법은 무엇입니까?

DN1

유전자 사이의 거리를 계산하는 데이터 세트가 있습니다. 여기에는 현재 행 / 유전자와 다음 행의 거리를 제공하기 위해 현재 행의 'bp.snp'열에서 아래 한 유전자 행의 'bp.snp'열을 빼는 것이 포함됩니다.

그러나 새로운 염색체가 시작될 때마다 빼기가 수행되는 것을 원하지 않습니다. for 루프에서 이것을 어떻게 설명 할 수 있습니까?

내 데이터는 다음과 같습니다.

Gene  Chromosome  bp.snp  
ACE        1        1   
NOTCH      1        2   
BRCA       1        3   
HER        2       7000 
GABA       2       7001  
P53        3       20000 
APX1       3       20001 

출력 열이 다음과 같이 보이기를 원합니다.

Gene  Chromosome  bp.snp   distance
ACE        1        1         1
NOTCH      1        2         1
BRCA       1        3         0/NA
HER        2       7000       1
GABA       2       7001       0/NA
P53        3       20000      1
APX1       3       20001      1

따라서 각 염색체 변경에 대해 bp.snp 빼기를 수행하는 것을 무시합니다.

내 코드는 현재 다음과 같습니다.

df$distance <- NA
for(i in 1:(nrow(df) - 1)) {
  df$distance[i] = df$bp.snp1[i+1] - df$bp.snp1[i]}

본질적으로 코드에 '염색체 열이 1 씩 증가 할 때마다 루프에서 빼기를 수행하지 않음'을 요청하는 방법을 잘 모르겠습니다.

GKi

당신은 사용할 수 있습니다 avediff위해 거리를 계산Chromosome.

df$distance  <- ave(df$bp.snp, df$Chromosome, FUN=function(x) c(diff(x), NA))
df
#   Gene Chromosome bp.snp distance
#1   ACE          1      1        1
#2 NOTCH          1      2        1
#3  BRCA          1      3       NA
#4   HER          2   7000        1
#5  GABA          2   7001       NA
#6   P53          3  20000        1
#7  APX1          3  20001       NA

또는 단순히 모두의 차이를 계산하고 차이 NA가있는 장소에서로 설정합니다 Chromosome.

df$distance <- c(diff(df$bp.snp), NA)
df$distance[c(diff(df$Chromosome) > 0, FALSE)]  <- NA
#   Gene Chromosome bp.snp distance
#1   ACE          1      1        1
#2 NOTCH          1      2        1
#3  BRCA          1      3       NA
#4   HER          2   7000        1
#5  GABA          2   7001       NA
#6   P53          3  20000        1
#7  APX1          3  20001       NA

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL 아래 사례를 기반으로 뺄셈을 수행하는 방법은 무엇입니까?

분류에서Dev

r의 다른 변수에있는 값을 조건부로 기반으로하는 변수에 값을 붙여 넣는 방법은 무엇입니까?

분류에서Dev

R의 다른 행 값을 기반으로 행 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

다른 행의 조건을 기반으로 Pandas 데이터 프레임에서 새 열을 만드는 최적의 방법은 무엇입니까?

분류에서Dev

R의 열 내의 값을 기반으로 조건부로 많은 Mann-Whitney 테스트를 수행하는 방법은 무엇입니까?

분류에서Dev

여러 열 값을 기반으로 다른 행 조합의 수를 얻는 방법은 무엇입니까?

분류에서Dev

R 데이터 프레임에서 일부 행 (다른 행은 제외)을 조건부로 결합하는 방법은 무엇입니까?

분류에서Dev

다른 열의 해당 행을 기반으로하는 조건부 값으로 데이터 프레임의 열을 채우는 가장 좋은 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임의 정보를 기반으로 R 데이터 프레임 열을 빼는 방법은 무엇입니까?

분류에서Dev

빈 셀이있는 다른 열의 조건문을 기반으로 한 열의 값을 추가하는 방법은 무엇입니까?

분류에서Dev

dplyr에서 다른 변수의 최소값으로 하나의 조건 (is.na)을 기반으로 새 변수를 만드는 방법은 무엇입니까?

분류에서Dev

mongodb 집계의 배열 내부에있는 다른 필드를 기반으로 부모 필드에 조건부로 값을 설정하는 방법은 무엇입니까?

분류에서Dev

다른 벡터의 값을 기반으로 R의 데이터 프레임에서 열을 제거하는 방법은 무엇입니까?

분류에서Dev

DataTable의 데이터를 조건부로 업데이트하는 가장 빠른 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임의 행 이름 순서를 기반으로 한 데이터 프레임의 열 이름을 매핑하여 R에서 데이터 프레임을 정렬하는 방법은 무엇입니까?

분류에서Dev

R에서 조건부로 다른 열을 요약하여 새 데이터 프레임을 재구성하는 방법은 무엇입니까?

분류에서Dev

Pandas 열의 값을 다른 열에 조건부로 다시 할당하는 방법은 무엇입니까?

분류에서Dev

.net의 다른 데이터 테이블을 기반으로 하나의 데이터 테이블 행을 제거하는 방법은 무엇입니까?

분류에서Dev

다른 열의 차이를 기반으로 텍스트 열을 결합하는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임을 기반으로 데이터 프레임의 요소를 변경하는 방법은 무엇입니까?

분류에서Dev

AspectJ를 사용하여 조건부로 다른 데이터를 기록하는 방법은 무엇입니까?

분류에서Dev

다중 조건 WPF를 기반으로 datagridcell의 배경을 변경하는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임을 기반으로 행을 제거하는 방법은 무엇입니까?

분류에서Dev

다른 열의 값에 따라 열의 값을 조건부로 바꾸는 방법은 무엇입니까?

분류에서Dev

다른 열 데이터의 조건을 지정하여 한 열의 행을 자동으로 채우는 방법은 무엇입니까?

분류에서Dev

다른 두 테이블의 계산을 기반으로 한 테이블에서 데이터를 검색하는 방법은 무엇입니까?

분류에서Dev

샘플이 다른 데이터 세트의 행에 나타나는 경우 조건부로 계산하고 기록하는 방법은 무엇입니까?

분류에서Dev

행의 열을 R의 해당 열에 특정 조건이있는 다음 행으로 바꾸는 방법은 무엇입니까?

분류에서Dev

다른 열의 값을 기반으로 한 열을 이동하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    SQL 아래 사례를 기반으로 뺄셈을 수행하는 방법은 무엇입니까?

  2. 2

    r의 다른 변수에있는 값을 조건부로 기반으로하는 변수에 값을 붙여 넣는 방법은 무엇입니까?

  3. 3

    R의 다른 행 값을 기반으로 행 값을 업데이트하는 방법은 무엇입니까?

  4. 4

    다른 행의 조건을 기반으로 Pandas 데이터 프레임에서 새 열을 만드는 최적의 방법은 무엇입니까?

  5. 5

    R의 열 내의 값을 기반으로 조건부로 많은 Mann-Whitney 테스트를 수행하는 방법은 무엇입니까?

  6. 6

    여러 열 값을 기반으로 다른 행 조합의 수를 얻는 방법은 무엇입니까?

  7. 7

    R 데이터 프레임에서 일부 행 (다른 행은 제외)을 조건부로 결합하는 방법은 무엇입니까?

  8. 8

    다른 열의 해당 행을 기반으로하는 조건부 값으로 데이터 프레임의 열을 채우는 가장 좋은 방법은 무엇입니까?

  9. 9

    다른 데이터 프레임의 정보를 기반으로 R 데이터 프레임 열을 빼는 방법은 무엇입니까?

  10. 10

    빈 셀이있는 다른 열의 조건문을 기반으로 한 열의 값을 추가하는 방법은 무엇입니까?

  11. 11

    dplyr에서 다른 변수의 최소값으로 하나의 조건 (is.na)을 기반으로 새 변수를 만드는 방법은 무엇입니까?

  12. 12

    mongodb 집계의 배열 내부에있는 다른 필드를 기반으로 부모 필드에 조건부로 값을 설정하는 방법은 무엇입니까?

  13. 13

    다른 벡터의 값을 기반으로 R의 데이터 프레임에서 열을 제거하는 방법은 무엇입니까?

  14. 14

    DataTable의 데이터를 조건부로 업데이트하는 가장 빠른 방법은 무엇입니까?

  15. 15

    다른 데이터 프레임의 행 이름 순서를 기반으로 한 데이터 프레임의 열 이름을 매핑하여 R에서 데이터 프레임을 정렬하는 방법은 무엇입니까?

  16. 16

    R에서 조건부로 다른 열을 요약하여 새 데이터 프레임을 재구성하는 방법은 무엇입니까?

  17. 17

    Pandas 열의 값을 다른 열에 조건부로 다시 할당하는 방법은 무엇입니까?

  18. 18

    .net의 다른 데이터 테이블을 기반으로 하나의 데이터 테이블 행을 제거하는 방법은 무엇입니까?

  19. 19

    다른 열의 차이를 기반으로 텍스트 열을 결합하는 방법은 무엇입니까?

  20. 20

    다른 데이터 프레임을 기반으로 데이터 프레임의 요소를 변경하는 방법은 무엇입니까?

  21. 21

    AspectJ를 사용하여 조건부로 다른 데이터를 기록하는 방법은 무엇입니까?

  22. 22

    다중 조건 WPF를 기반으로 datagridcell의 배경을 변경하는 방법은 무엇입니까?

  23. 23

    다른 데이터 프레임을 기반으로 행을 제거하는 방법은 무엇입니까?

  24. 24

    다른 열의 값에 따라 열의 값을 조건부로 바꾸는 방법은 무엇입니까?

  25. 25

    다른 열 데이터의 조건을 지정하여 한 열의 행을 자동으로 채우는 방법은 무엇입니까?

  26. 26

    다른 두 테이블의 계산을 기반으로 한 테이블에서 데이터를 검색하는 방법은 무엇입니까?

  27. 27

    샘플이 다른 데이터 세트의 행에 나타나는 경우 조건부로 계산하고 기록하는 방법은 무엇입니까?

  28. 28

    행의 열을 R의 해당 열에 특정 조건이있는 다음 행으로 바꾸는 방법은 무엇입니까?

  29. 29

    다른 열의 값을 기반으로 한 열을 이동하는 방법은 무엇입니까?

뜨겁다태그

보관