두 열의 데이터를 곱하고 기존 세 번째 열에 추가

1 월

식물 잎 길이와 너비 데이터를 포함하는 두 개의 열이있는 데이터 프레임이 있습니다.

2019 년에는 다양한 데이터가 있습니다. 일부 데이터 포인트에는 길이 및 면적 측정 만 있습니다. 일부 다른 데이터 포인트에는 세 가지 측정 값이 모두 있습니다.

이 데이터로 전환 계수를 계산할 수있었습니다. 2020 년에는 길이와 너비 만 측정합니다. 변환 계수를 사용하여 2020 년의 면적을 계산하고 2019 년의 면적 측정 값을 덮어 쓰지 않고 잎 면적 열에 추가하고 싶습니다.

df_all <- df_all%>% mutate(rep_leaf_length*rep_leaf_width * 0.790590)

이것이 내가 원하는 곳으로가는 방법을 모른다는 것을 깨닫기 전에 나의 첫 출발점이었습니다.

여러분은 곱셈을 수행하고 결과를 기존 열에 추가하는 방법에 대한 아이디어가 있습니까?하지만 2020 년에만 해당되거나 NA가 면적 열에 있고 기존 면적 측정이 아닌 경우.

Year  rep_leaf_length   rep_leaf_width  rep_leaf_area
2019           37.400               NA             NA
2019           21.036            8.080        132.914
2019           29.147            2.331             NA
2020           16.600             4.00             NA
2020           21.600              2.2             NA

고마워요 Jan

앨런 카메론

내가 생각하는 당신이 그 해의 (측정) 잎의 길이와 잎 폭을 사용하여 2020 년부터 (측정되지 않은) 잎 지역을 추론 할 것을 의미한다. 그러나 잎이 직사각형이 아니기 때문에 잎 영역은 너비와 길이의 단순한 제품이 아닙니다. 다행히도 2019 년에 길이, 너비 및 면적이 모두 측정 된 몇 가지 관찰이 있습니다. 즉, 전체 2019 년 관측에 대해 길이 * 너비를 실제 면적과 비교하면 (길이 * 너비)에 대한 실제 면적의 비율을 얻게됩니다. 잎이 비교적 고정 된 모양 일 수 있으므로이 비율을 사용하여 2020 년의 (길이 * 너비) 값을 곱하여 예상 면적을 얻을 수 있습니다.

내가 당신의 의도를 올바르게 해석했다고 가정하면 2019 년에 실제 면적과 (너비 * 길이)의 비율을 다음과 같이 계산할 수 있습니다.

library(dplyr)

ratio <- df_all %>% 
  filter(Year == 2019) %>%
  filter(complete.cases(.)) %>%
  summarize(ratio = mean(rep_leaf_area / (rep_leaf_length * rep_leaf_width))) %>%
  unlist()

ratio
#>    ratio 
#> 0.781981

다음과 같이 비율을 사용할 수 있습니다.

df_all %>% 
  mutate(rep_leaf_area = ifelse(Year == 2020,
                                rep_leaf_length * rep_leaf_width * ratio,
                                rep_leaf_area))
#>   Year rep_leaf_length rep_leaf_width rep_leaf_area
#> 1 2019          37.400             NA            NA
#> 2 2019          21.036          8.080     132.91400
#> 3 2019          29.147          2.331            NA
#> 4 2020          16.600          4.000      51.92354
#> 5 2020          21.600          2.200      37.15974

이것은 2019의 면적 측정에 영향을 미치지 않습니다.


데이터

df_all <- structure(list(Year = c(2019L, 2019L, 2019L, 2020L, 2020L), 
           rep_leaf_length = c(37.4, 21.036, 29.147, 16.6, 21.6), 
           rep_leaf_width = c(NA, 8.08, 2.331, 4, 2.2), 
           rep_leaf_area = c(NA, 132.914, NA, NA, NA)), 
           class = "data.frame", row.names = c(NA, -5L))

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP를 사용하여 기존 CSV에 두 번째 열 추가

분류에서Dev

기존 CSV에 세 번째 열 추가

분류에서Dev

한 데이터 세트에서 열을 추출하고 R의 세 번째 데이터 세트의 열로 다른 데이터 세트 만들기

분류에서Dev

세 번째 열의 버튼을 클릭하면 테이블의 두 번째 열에서 데이터를 가져올 수 없습니다.

분류에서Dev

데이터 프레임의 처음 두 열을 기반으로 중복 행을 찾고 세 번째 열을 추가합니다.

분류에서Dev

SQL 두 번째와 세 번째 밑줄 사이의 문자열 가져 오기

분류에서Dev

R의 데이터 프레임에서 두 번째 열의 값을 기준으로 세 번째 열 채우기

분류에서Dev

데이터 프레임에 두 번째 열 이름 세트 추가

분류에서Dev

Windows Forms의 기존 DataGridView에 두 번째 DataSource를 추가하는 방법

분류에서Dev

첫 번째 열이 1 ~ 10000 범위 내에 있으면 두 번째 및 세 번째 열을 추가하고 싶습니다.

분류에서Dev

R의 점도표에 두 번째 데이터 세트를 추가하려면 어떻게해야합니까?

분류에서Dev

R의 점도표에 두 번째 데이터 세트를 추가하려면 어떻게해야합니까?

분류에서Dev

한 데이터 프레임에서 데이터를 가져 와서 세 번째 열의 공유 ID를 기반으로 다른 데이터 프레임의 기존 열에 복사하는 방법

분류에서Dev

두 개의 열을 기반으로 중복을 제거하고 세 번째 열에서 가장 높은 숫자를 유지하는 방법이 있습니까?

분류에서Dev

문자열에서 두 번째와 세 번째 구분 기호 사이의 텍스트 가져 오기-Java Script

분류에서Dev

파일 이름 목록을 가져 와서 동일한 첫 번째 열의 두 번째 및 세 번째 열을 추가하면서 csv 파일과 비교

분류에서Dev

mysql 테이블의 두 열에서 동일한 값을 가진 중복 행을 병합하고 세 번째 열에 값을 추가하십시오.

분류에서Dev

두 번째 데이터 프레임에서 일치하는 키를 기반으로 Spark 데이터 프레임 열에 목록 추가

분류에서Dev

배열의 첫 번째 값이 두 번째 배열의 첫 번째 값에 100 번 더해지는 두 배열을 서로 추가 하시겠습니까?

분류에서Dev

반복 데이터에 두 번째를 추가하는 동안 R의 큰 데이터 세트에서 루프 사용 방지

분류에서Dev

반복 데이터에 두 번째를 추가하는 동안 R의 큰 데이터 세트에서 루프 사용 방지

분류에서Dev

두 번째 열에 데이터 테이블에 값 추가

분류에서Dev

두 번째 열의 데이터가 동일한 경우 첫 번째 열에 의한 Bash 추가

분류에서Dev

Activeadmin-두 개의 값을 추가하고 세 번째 열에 표시해야합니다.

분류에서Dev

두 열을 비교하고 세 번째 열에 답하는 매크로를 Excel에서 만들기

분류에서Dev

세 번째 행의 열 합계를 추가하는 방법

분류에서Dev

[HTML / JS] 문자열의 두 번째 마지막 단어 앞에 "&"를 추가하고 해당 문자열에 단일 단어가있는 경우 "&"숨기기

분류에서Dev

첫 번째 열에는 상태가 있고 두 번째 전환 상태는 세 번째 열에 값이있는 스프레드를 사용합니다.

분류에서Dev

첫 번째 열의 두 데이터 프레임에서 동일한 항목을 비교하고 다음 열로 이동 / 추가 및 차이점 추가

Related 관련 기사

  1. 1

    PHP를 사용하여 기존 CSV에 두 번째 열 추가

  2. 2

    기존 CSV에 세 번째 열 추가

  3. 3

    한 데이터 세트에서 열을 추출하고 R의 세 번째 데이터 세트의 열로 다른 데이터 세트 만들기

  4. 4

    세 번째 열의 버튼을 클릭하면 테이블의 두 번째 열에서 데이터를 가져올 수 없습니다.

  5. 5

    데이터 프레임의 처음 두 열을 기반으로 중복 행을 찾고 세 번째 열을 추가합니다.

  6. 6

    SQL 두 번째와 세 번째 밑줄 사이의 문자열 가져 오기

  7. 7

    R의 데이터 프레임에서 두 번째 열의 값을 기준으로 세 번째 열 채우기

  8. 8

    데이터 프레임에 두 번째 열 이름 세트 추가

  9. 9

    Windows Forms의 기존 DataGridView에 두 번째 DataSource를 추가하는 방법

  10. 10

    첫 번째 열이 1 ~ 10000 범위 내에 있으면 두 번째 및 세 번째 열을 추가하고 싶습니다.

  11. 11

    R의 점도표에 두 번째 데이터 세트를 추가하려면 어떻게해야합니까?

  12. 12

    R의 점도표에 두 번째 데이터 세트를 추가하려면 어떻게해야합니까?

  13. 13

    한 데이터 프레임에서 데이터를 가져 와서 세 번째 열의 공유 ID를 기반으로 다른 데이터 프레임의 기존 열에 복사하는 방법

  14. 14

    두 개의 열을 기반으로 중복을 제거하고 세 번째 열에서 가장 높은 숫자를 유지하는 방법이 있습니까?

  15. 15

    문자열에서 두 번째와 세 번째 구분 기호 사이의 텍스트 가져 오기-Java Script

  16. 16

    파일 이름 목록을 가져 와서 동일한 첫 번째 열의 두 번째 및 세 번째 열을 추가하면서 csv 파일과 비교

  17. 17

    mysql 테이블의 두 열에서 동일한 값을 가진 중복 행을 병합하고 세 번째 열에 값을 추가하십시오.

  18. 18

    두 번째 데이터 프레임에서 일치하는 키를 기반으로 Spark 데이터 프레임 열에 목록 추가

  19. 19

    배열의 첫 번째 값이 두 번째 배열의 첫 번째 값에 100 번 더해지는 두 배열을 서로 추가 하시겠습니까?

  20. 20

    반복 데이터에 두 번째를 추가하는 동안 R의 큰 데이터 세트에서 루프 사용 방지

  21. 21

    반복 데이터에 두 번째를 추가하는 동안 R의 큰 데이터 세트에서 루프 사용 방지

  22. 22

    두 번째 열에 데이터 테이블에 값 추가

  23. 23

    두 번째 열의 데이터가 동일한 경우 첫 번째 열에 의한 Bash 추가

  24. 24

    Activeadmin-두 개의 값을 추가하고 세 번째 열에 표시해야합니다.

  25. 25

    두 열을 비교하고 세 번째 열에 답하는 매크로를 Excel에서 만들기

  26. 26

    세 번째 행의 열 합계를 추가하는 방법

  27. 27

    [HTML / JS] 문자열의 두 번째 마지막 단어 앞에 "&"를 추가하고 해당 문자열에 단일 단어가있는 경우 "&"숨기기

  28. 28

    첫 번째 열에는 상태가 있고 두 번째 전환 상태는 세 번째 열에 값이있는 스프레드를 사용합니다.

  29. 29

    첫 번째 열의 두 데이터 프레임에서 동일한 항목을 비교하고 다음 열로 이동 / 추가 및 차이점 추가

뜨겁다태그

보관