2
data.tableまたはdata.frameの値(つまり「x」)を列名で置換します。列エントリを列名で置き換えます。
例:
# sample data
Substance <- LETTERS[1:10]
Jan10 <- c("x","x",NA,NA,NA,"x","x","x","x",NA)
Apr10 <- c("x",NA,"x",NA,"x","x","x","x",NA,"x")
Jul10 <- c(NA,NA,NA,"x","x","x","x",NA,"x","x")
Oct10 <- c("x","x","x","x",NA,"x",NA,"x",NA,"x")
dt <- as.data.table(cbind(Substance, Jan10, Apr10, Jul10, Oct10))
# manually changing one column
dt[Jan10=="x", Jan10 := "Jan10"]
目的:すべての列が変更Jan10列のようになります。各列の「x」値を対応する列名で置き換えるにはどうすればよいですか?アドバイスありがとう。
と値が要因でない、あなたが行うことができます' INDX < - これは(is.na(df)、arr.ind = TRUE)。 df [indx] < - names(df)[indx [、 "col"]] ' –
実際、私には要因があります。できます。以下のように、このアイデアは、NAではなく「x」を置き換えることでした。 – andrasz
'is.na(df)'を 'df ==" x "'に変更してください。将来的に値を変更する予定がある場合は、要素を使用しない方が良いでしょう(または 'cbind')。私はあなたのデータを次のように 'df