私は3つの列を持っています。最初の列には一意の ID があり、2 番目と 3 番目の列には文字列データといくつかの NA データがあります。列 2 から情報を抽出し、それを別の列に入れ、列 3 についても同じことを行う必要があります。 for ループを使用して、次のように関数を作成しています。3 番目の文字の後に列を分割する必要があります。[たとえば、下の V1 列では、AAAbbb を AAA と bbb に分割し、それらを別々の列に配置する必要があります。substr を使用してこれを行うことができることを知っています。私はRが初めてです、助けてください。
UID * V1 * V2 *
Z001NL * AAAbbb * IADSFO *
Z001NP * IADSFO * NA *
Z0024G * SFOHNL * NLSFO0 *
これが私のコードです。
test=read.csv("c:/some/path/in/windows/test.csv", header=TRUE)
substring_it = function(test)
{
for(i in 1:3){
for(j in 2:3){
answer = transform(test, code 1 = substr((test[[j,i]]), 1, 3), code2 = substr((test[j,i]), 4, 6))
}
}
return(answer)
}
hello = substring_it(test)
test は、読み込むデータ フレームになります。
出力としてこれが必要です
UID * V1.1 * V1.2 * V2.1 * V2.2
Z001NL * AAA * bbb * IAD * SFO
Z001NP * IAD * SFO * NA * NA
Z0024G * SFO * HNL * NLS * SFO