다른 data.frame과 완벽하게 작동하지만 비슷한 조건의 코드를 조정해야합니다. 여기특정 행 값에 따라 데이터 프레임에 열 추가 (2)
내 data.frame의 예 :
내가 1이new_col
값을 포함해야 4. 값을 포함 내 data.frame에 새 열 (
new_col
)를 추가 할 필요가
df <- read.table(text = 'ID Day Count
33012 9526 4
35004 9526 4
37006 9526 4
37008 9526 4
21009 1913 3
24005 1913 3
25009 1913 3
22317 2286 2
37612 2286 2
25009 14329 1
48007 9527 0
88662 9528 0
1845 9528 0
8872 2287 0
49002 1914 0
1664 1915 0', header = TRUE)
, x = 9526, 1913, 2286, 14329 (열 Day
)의 각 일, 요일 (x) 일 (x +1) 및 일 (x + 2)
내 출력은 다음과 같아야합니다
ID Day Count new_col
33012 9526 4 1
35004 9526 4 1
37006 9526 4 1
37008 9526 4 1
21009 1913 3 2
24005 1913 3 2
25009 1913 3 2
22317 2286 2 3
37612 2286 2 3
25009 14329 1 4
48007 9527 0 1
88662 9528 0 1
1845 9528 0 1
8872 2287 0 3
49002 1914 0 2
1664 1915 0 2
다음 될 것 new_col
에 의해 주문한 data.frame :
ID Day Count new_col
33012 9526 4 1
35004 9526 4 1
37006 9526 4 1
37008 9526 4 1
48007 9527 0 1
88662 9528 0 1
1845 9528 0 1
21009 1913 3 2
24005 1913 3 2
25009 1913 3 2
49002 1914 0 2
1664 1915 0 2
22317 2286 2 3
37612 2286 2 3
8872 2287 0 3
25009 14329 1 4
내 실제 data.frame는 (예보다 더 복잡 즉 더 열 및 기타 값은 Count
열).
x <- c(1913, 2286, 9526, 14329)
df$new_col <- cut(df$Day, c(-Inf, x, Inf))
df$new_col <- as.numeric(factor(df$new_col, levels=unique(df$new_col)))
그러나 그것은 단지 일 X, 일 X -1 일 X -2와 함께 작동 :
내 앞의 질문 (Add column to dataframe depending on specific row values)에서 저를 제안 @mrbrick 코드는 다음과 같다.
어떤 제안이라도 도움이 될 것입니다.
잘라 내기 명령에서'df $ new_col <- cut (df $ Day, c (-Inf, x, Inf), right = F)'을 시도하십시오. – AntoniosK
'df $ Day'의 값이 더 많습니까? 서로 매우 다른 그룹에 속하는 값입니까? –
'Day'열에서 원하는 'x'를 모두 아십니까? – cderv