我在数据框中逐列得到Q表示取代原子。 例如
A_col B_col
1 "Hi" 0.3
2 -0.5 0.7
3 "HiHi" FALSE
在上表中,A_column中有两个字符类原子。所以它不是浮动的!我要摆脱这两个Hi
和HiHi
。或者,替换为NA
。
而且,在B_column中,存在布尔类atom(FALSE
)。我仍然希望在此列中保留布尔类。
重点是,如何消除列中的原子类类型。
答案 0 :(得分:0)
data.frame
列不能具有多个类别(即布尔值+数字)。相反,我们可以使用numeric
转换为as.numeric
。非数字将转换为NA
,而布尔值FALSE
将强制转换为0。
df1[] <- lapply(df1, function(x) as.numeric(replace(x, x %in% FALSE, 0)))
df1 <- structure(list(A_col = c("Hi", "-0.5", "HiHi"), B_col = c("0.3",
"0.7", "FALSE")), class = "data.frame", row.names = c("1", "2",
"3"))