d3.tsv를 사용하여 파일을 구문 분석합니다. 데이터의 한 열 (PValue 열)에있는 모든 0을 해당 열의 다음으로 낮은 숫자로 변경하고 싶습니다. 이 작업을 수행하는 올바른 방법은 접근 자 함수를 사용하는 것이지만 내 시도는 지금까지 실패했습니다. 나는 접근 기능 modifyData에 다음과 같은 일을 할 때d3.csv 입력 데이터 수정
d3.tsv(filename, modifyData, function(error, data) {
data.forEach(function(d) {
d.NAME = d.NAME;
d.logFC = +d.logFC;
d.logCPM = +d.logCPM;
d.FDR = +d.FDR;
d.PValue = +d.PValue
});
})
, 나는 '데이터'위의 코드에서 정의되지 말하는 오류가 발생합니다.
function modifyData(d){
d.forEach(function(origData){
origData.PValue = +origData.PValue
pValue_array.push(origData.PValue)
})
var pValue_array = []
for (var i = pValue_array.length-1 ; i >= 0; i--){
if (pValue_array[i] === 0){
pValue_array.splice(i,1);
}
}
var newPzero = (arrayMin(pValue_array))
return d;
};
arrayMin은 배열의 최소값을 반환하는 간단한 함수입니다. 이 값을 사용하여 PValue 열에있는 모든 0을 대체 할 계획이었습니다. 도움이 대단히 감사합니다!
최소값 제외 0이 필요합니다. 여기를보십시오. http://stackoverflow.com/questions/29261994/use-d3-min-to-find-lowest-value-that -is-not-0. 0으로 표시 될 때 최소값으로 바꿉니다. – Klaujesi
@Klaujesi 예, 0 부분을 대체하는 데 문제가 있습니다. –