我有一个小问题。我知道使用data.frame
并且循环不是那么好,我的函数不会更新我想要更改的列。关于如何使这个功能工作的任何想法?提前致谢
Func = function(data,k){
result_freq = data.frame(apply(data,2,function(x) length(unique(x))))
for (w in 1:nrow(result_freq)){
if (result_freq[w,]>(nrow(data)/3)) {
data[,w] = as.integer(paste(round( data[,w]/ 1e3)))
}
}
return(data)
}
Func(data,5)
我的原始数据是这样的,我想要将此列减少1K并在原始data.frame
中更新1300 => 1
1421 => 1
34535 => 34