我想編寫一個for循環,其中我需要首先將data.frame的某些列的類轉換爲字符。經過一些操作(這與這個問題無關),我需要將列轉換回原來的類。在for循環中分配不同的類
將列轉換爲其原始類必須在for循環中完成。我怎麼能這樣做?
下面是一些數據和循環示範:
# Example data
data <- data.frame(x1 = as.numeric(1:5), x2 = as.factor(7:3))
for(i in 1:ncol(data)) {
# Save original class.
class_col_i <- class(data[ , i])
# Convert column as character.
data[ , i] <- as.character(data[ , i])
# (Here I will do some operations, which are irrelevant for this problem.)
# Here I need to convert the column back to its original class.
# How can I do that?
# data[ , i] <- class_col_i... ???
}
class(data$x1) # This should be a numeric
class(data$x2) # This should be a factor
沒有必要改變原始數據並將其更改回來。如果您需要其他功能的「字符」類,請使用副本。 –
感謝您的評論。你能解釋一下你的意思是用'複製'嗎? – JSP