다음 열이 있습니다. dataframe
df <- data.frame(
crime = as.character(c(115400, 171200, 91124, 263899, 67601, 51322)),
stringsAsFactors=FALSE
)
아래 함수에서 볼 수 있듯이 일부 조건에 따라 처음 두 자리를 추출하는 함수를 사용하고 있습니다.
for (i in df$crime){
if (nchar(i)==6){
print(substring(i,1,2))}
else {print(substring(i,1,1))
}
}
이 함수를 실행하면 다음과 같은 출력이 표시됩니다.
[1] "11"
[1] "17"
[1] "9"
[1] "26"
[1] "6"
[1] "5"
그러나 나는 이것이 벡터를 따라 서서 저장되기를 원합니다. 어떻게 하죠?
다음은 ifelse
+ 가있는 기본 R 솔루션입니다.substring
res <- with(df, substring(crime,1,ifelse(nchar(crime) == 6, 2, 1)))
그런
> res
[1] "11" "17" "9" "26" "6" "5"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다