조건문을 기반으로하는 행렬 요소의 조건부 업데이트

Thaddeus 지원

나는 단지 단순한 실수를하고 있다고 확신합니다.

반복해야하는 큰 행렬 3307592x9가 있고 열 8 (문자 / 문자열) == 9 (문자 / 문자열) (대소 문자 구분 안 함)이면 열 3-7 (숫자 0-1)이 1- 자기 여야합니다. . 내가 작성한 코드는 다음과 같습니다.

for (i in 1:3307592){
    if(grepl(chr2SnpFreqNorm[i,8], chr2SnpFreqNorm[i,9], ignore.case=TRUE)){
        chr2SnpFreqNorm[i,3] <- 1 - chr2SnpFreqNorm[i,3]
        chr2SnpFreqNorm[i,4] <- 1 - chr2SnpFreqNorm[i,4]
        chr2SnpFreqNorm[i,5] <- 1 - chr2SnpFreqNorm[i,5]
        chr2SnpFreqNorm[i,6] <- 1 - chr2SnpFreqNorm[i,6]
        chr2SnpFreqNorm[i,7] <- 1 - chr2SnpFreqNorm[i,7]
    }
}

R 클라이언트를 실행하려고하면 명령을 취소하기 전에 30 분 넘게 중단됩니다. 코드가 나에게 맞는 것처럼 보이기 때문에 내가 뭘 잘못했는지 잘 모르겠습니다.

/ edit 예제 데이터

> chr2SnpFreqNorm[1:10,]
        ID   pos ceuChr2SnpFreq chsChr2SnpFreq lwkChr2SnpFreq
1  rs187078949 10133    0.070588235          0.000    0.030927835
2  rs191522553 10140    0.005882353          0.000    0.005154639
3  rs149483862 10286    0.100000000          0.135    0.226804124
4  rs150919307 10297    0.147058824          0.070    0.113402062
5  rs186644623 10315    0.000000000          0.000    0.000000000
6  rs193294418 10345    0.017647059          0.000    0.036082474
7  rs185496709 10386    0.082352941          0.020    0.087628866
8  rs188771313 10419    0.229411765          0.085    0.056701031
9  rs192945962 10425    0.100000000          0.020    0.015463918
10 rs184397180 10431    0.064705882          0.005    0.036082474
   tsiChr2SnpFreq yriChr2SnpFreq ALT AA
1     0.035714286    0.045454545   A  a
2     0.005102041    0.005681818   A  C
3     0.239795918    0.170454545   A  t
4     0.168367347    0.130681818   T  t
5     0.000000000    0.005681818   G  C
6     0.030612245    0.028409091   A  G
7     0.035714286    0.113636364   T  t
8     0.147959184    0.090909091   G  G
9     0.091836735    0.034090909   G  c
10    0.015306122    0.045454545   T  a

>
Ferdinand.kraft

Base R에서는 간단하게 할 수 있습니다.

flip <- Vectorize(grepl)(chr2SnpFreqNorm[,8], chr2SnpFreqNorm[,9], ignore.case=TRUE)

chr2SnpFreqNorm[flip,3:7] <- 1 - chr2SnpFreqNorm[filp,3:7]

Vectorize루프를 숨기기 때문에 약간 느릴 수 있습니다 . 그러나 8 열과 9 열이 정확히 일치하는 행을 뒤집는 것이 필요한 경우 (대소 문자 제외) 대신이 필터를 사용합니다.

flip <- tolower(chr2SnpFreqNorm[,8])==tolower(chr2SnpFreqNorm[,9])

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

뛰어나다. 별도의 행을 기반으로하는 데이터 포인트의 조건부 서식

분류에서Dev

조건을 반복적으로 확인할 필요없이 조건부 실행

분류에서Dev

첫 번째 행렬의 요소 값을 조건으로 행렬 곱하기

분류에서Dev

세이지의 행렬 요소에 대한 조건부 정의

분류에서Dev

Pandas-다음 행의 특정 열을 조건부로 업데이트하는 기능

분류에서Dev

조건이 충족되기 전에 행의 값을 반환하는 정렬 된 행으로 집계 스파크

분류에서Dev

행렬이 조건을 충족하는 벡터 요소 선택

분류에서Dev

Pandas : 다른 열의 이전 행 값을 기반으로하는 조건부 누적 합계

분류에서Dev

For 루프를 사용하여 다른 행렬의 값을 기반으로 조건부로 행렬 채우기

분류에서Dev

행 값이 일부 문자로 시작하는 경우 여러 조건을 기반으로하는 조건부 열

분류에서Dev

2 가지 조건을 기반으로 행 값의 조건부 빼기

분류에서Dev

R의 조건을 기반으로하는 부분 집합 데이터

분류에서Dev

조건을 충족하는 요소의 양으로 데이터 부분 화

분류에서Dev

Pandas DataFrame의 두 행 사이의 기울기를 기반으로하는 조건부

분류에서Dev

2 개 열의 값을 기반으로하는 조건부 슬라이스

분류에서Dev

R : 모든 행을 기반으로하는 각 행의 조건

분류에서Dev

Data.Table : 참조에 따라 .SD의 값을 조건부로 업데이트

분류에서Dev

일부 조건을 충족하는 행렬의 열 수 계산

분류에서Dev

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

분류에서Dev

여러 열을 기반으로 행의 Excel 조건부 서식

분류에서Dev

셀 값을 기반으로 여러 행의 조건부 서식

분류에서Dev

조건부로 업데이트 쿼리 실행

분류에서Dev

SQL : 기본 테이블의 행 값을 기반으로 여러 테이블을 단일 테이블에 조건부로 연결하는 가장 좋은 방법

분류에서Dev

기능적 구성 요소의 데이터를 기반으로 조건부로 요소 렌더링

분류에서Dev

조건부 구성 요소를 업데이트하지 않는 React Hook

분류에서Dev

Tableau에서 행의 두 가지 조건을 기반으로 데이터를 필터링하는 방법

분류에서Dev

셀 동적을 기반으로하는 조건부 서식 행

분류에서Dev

열을 기반으로하는 조건부 행

분류에서Dev

두 테이블을 기반으로하는 Hive의 조건

Related 관련 기사

  1. 1

    뛰어나다. 별도의 행을 기반으로하는 데이터 포인트의 조건부 서식

  2. 2

    조건을 반복적으로 확인할 필요없이 조건부 실행

  3. 3

    첫 번째 행렬의 요소 값을 조건으로 행렬 곱하기

  4. 4

    세이지의 행렬 요소에 대한 조건부 정의

  5. 5

    Pandas-다음 행의 특정 열을 조건부로 업데이트하는 기능

  6. 6

    조건이 충족되기 전에 행의 값을 반환하는 정렬 된 행으로 집계 스파크

  7. 7

    행렬이 조건을 충족하는 벡터 요소 선택

  8. 8

    Pandas : 다른 열의 이전 행 값을 기반으로하는 조건부 누적 합계

  9. 9

    For 루프를 사용하여 다른 행렬의 값을 기반으로 조건부로 행렬 채우기

  10. 10

    행 값이 일부 문자로 시작하는 경우 여러 조건을 기반으로하는 조건부 열

  11. 11

    2 가지 조건을 기반으로 행 값의 조건부 빼기

  12. 12

    R의 조건을 기반으로하는 부분 집합 데이터

  13. 13

    조건을 충족하는 요소의 양으로 데이터 부분 화

  14. 14

    Pandas DataFrame의 두 행 사이의 기울기를 기반으로하는 조건부

  15. 15

    2 개 열의 값을 기반으로하는 조건부 슬라이스

  16. 16

    R : 모든 행을 기반으로하는 각 행의 조건

  17. 17

    Data.Table : 참조에 따라 .SD의 값을 조건부로 업데이트

  18. 18

    일부 조건을 충족하는 행렬의 열 수 계산

  19. 19

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

  20. 20

    여러 열을 기반으로 행의 Excel 조건부 서식

  21. 21

    셀 값을 기반으로 여러 행의 조건부 서식

  22. 22

    조건부로 업데이트 쿼리 실행

  23. 23

    SQL : 기본 테이블의 행 값을 기반으로 여러 테이블을 단일 테이블에 조건부로 연결하는 가장 좋은 방법

  24. 24

    기능적 구성 요소의 데이터를 기반으로 조건부로 요소 렌더링

  25. 25

    조건부 구성 요소를 업데이트하지 않는 React Hook

  26. 26

    Tableau에서 행의 두 가지 조건을 기반으로 데이터를 필터링하는 방법

  27. 27

    셀 동적을 기반으로하는 조건부 서식 행

  28. 28

    열을 기반으로하는 조건부 행

  29. 29

    두 테이블을 기반으로하는 Hive의 조건

뜨겁다태그

보관