最终,我需要创建下表:
ID Age Gender
1 25 F
2 14 M
等等。 。 。
我在许多txt文件中获取了数据,其中ID是文件的名称。 年龄和性别由新行分隔,例如:
Age: 25
Gender: F
现在,我将所有文件合并到一个数据表中,文件路径作为ID列(稍后我将用stringr删除整个路径)
all_test <- list.files(path = "my/file/path", full.names=T)
dtt <- rbindlist( sapply(all_test, fread, simplify = FALSE, sep=":", sep2=" "),use.names = TRUE, idcol = "ID" )
这是我的问题 - 我得到了下表:
ID V1 V2
1 Age 25
2 Gender F
我尝试使用sep = "\n"
但它没有做任何事情。如何告诉R每个变量在不同的行? (最好是data.table)
答案 0 :(得分:4)
一种可行的方法是使用darkening = textureProj(uShadowTexture, vec4(vShadowCoord.xy, vShadowCoord.z - bias, 1.0)) + (vShadowBorderFactor * vShadowBorderFactor);
重新整理为宽格式,并使用$(document).ready(function() {
var horizonalLinePlugin = {
afterDraw: function(chartInstance) {
var yScale = chartInstance.scales["y-axis-0"];
var canvas = chartInstance.chart;
var ctx = canvas.ctx;
var index;
var line;
var strokeStyle;
var fillStyle;
if (chartInstance.options.horizontalLine) {
for (index = 0; index < chartInstance.options.horizontalLine.length; index++) {
line = chartInstance.options.horizontalLine[index];
if (!line.strokeStyle) {
strokeStyle = "rgba(169, 169, 169, 0.6)";
} else {
strokeStyle = line.strokeStyle;
}
if (!line.fillStyle) {
fillStyle = 'rgba(179, 26, 57, 0.5)';
} else {
fillStyle = line.fillStyle;
}
if (line.y) {
yValue = yScale.getPixelForValue(line.y);
} else {
yValue = 0;
}
ctx.lineWidth = 3;
if (yValue) {
ctx.beginPath();
ctx.moveTo(0, yValue);
ctx.lineTo(canvas.width, yValue);
ctx.fillStyle = fillStyle;
ctx.fill();
ctx.strokeStyle = strokeStyle;
ctx.stroke();
}
if (line.text) {
ctx.fillStyle = fillStyle;
ctx.fillText(line.text, 0, yValue + ctx.lineWidth);
}
}
return;
};
}
};
Chart.pluginService.register(horizonalLinePlugin);
});
将列添加到正确的类中:
dcast
给出:
type.convert
示例数据:
DTnew <- dcast(DT, ID ~ V1, value.var = 'V2')[, (2:3) := lapply(.SD, type.convert), .SDcols = 2:3][]