2
私はRで作業しています。サンプル名を持つデータフレームが多数あり、各行に色を割り当てようとしていますサンプル名に基づいて各データフレーム内に表示されます。同じサンプル名を持つ行がたくさんありますが、出力データが厄介なので、サンプル名でソートすることはできません。ここで私は文字列の共有値に基づいてデータフレームに色を割り当てるR
names <- c("TC3", "102", "172", "136", "142", "143", "AC2G")
colors <- c("darkorange", "forestgreen", "darkolivegreen", "darkgreen", "darksalmon", "firebrick3", "firebrick1")
dataA <- c("JR13-101A", "TC3B", "JR12-136C", "AC2GA", "TC3A")
newcolors <- rep(NA, length(dataA))
dataA <- as.data.frame(cbind(dataA, newcolors))
を持っているものの小さな例の場合だと、私は、次の試してみた(ループで、私は知っているが、それは私がやって考えることがすべてです)。私はまた、Rのループに戻って逃げようとしていますが、私はまだ習慣を壊していません。
ここで私が試したことがあります。
dataA$newcolors<-as.character(dataA$newcolors)
for(j in 1:length(names)) {
dataA$newcolors[grep(names[j], dataA$dataA)] <- colors[j]
}
ではなく、要因の文字にnewcolors列を変換します:明らかにおそらく何かが、私はちょうどNA
を取得するが、ここではすべてのnewcolors
for(i in 1:nrow(dataA)) {
for(j in 1:length(names)) {
if(grepl(dataA$dataA[ i ], names[ j ])) {
dataA$newcolors[ i ] <- colors[ j ]
}
}
}