将以下向量放入data.table以及每个数字的索引的最佳方法是什么?
nVector <- c("20 37", "38 23", "39 48", "45 76", "65 44", "86 95 80")
Run Code Online (Sandbox Code Playgroud)
这是我的,有更好的方法吗?
vLength <- unname(sapply(nVector, function(x) length(unlist( strsplit(x, " "))) ))
vSeq <- seq(1, length(vLength))
vPosition <- vector("list", length(vLength))
for(i in 1:length(vLength))
{
vPosition[[i]] <- rep(vSeq[i], vLength[i])
}
DT <- data.table(index = unlist(vPosition),
value = unlist(strsplit(nVector, " ")))
Run Code Online (Sandbox Code Playgroud)
注意:向量的长度约为125k,并且有大约2000万个值.
I have a dataset (data frame) with 5 columns all containing numeric values.
I'm looking to run a simple linear regression for each pair in the dataset.
For example, If the columns were named A, B, C, D, E, I want to run lm(A~B), lm(A~C), lm(A~D), ...., lm(D~E),... and, then I want to plot the data for each pair along with the regression line.
我对R很陌生,所以我在如何实现这一目标的过程中如何旋转.我应该用ddply吗?还是lapply?我真的不确定如何解决这个问题.
我正在尝试根据它们是否一起处于事务中来标记地址实体ID号.
这个想法是,如果一个地址在与另一个地址的交易中,则假定该交易中的所有地址以及与这些地址的未来交易中的所有地址都归同一实体所有.
我目前在SQL中使用循环运行相当大的数据集(约150-180百万个),但我觉得R的data.table可以更快地解决这个问题并且语法更简单,我只是不确定如何做到这一点.任何帮助深表感谢!
这是一个例子:
DT <- data.table(Address=c('A','B','C','A','D','C','E'), Transaction=c(1,1,2,3,3,4,4))
Address Transaction
A 1
B 1
C 2
A 3
D 3
C 4
E 4
Run Code Online (Sandbox Code Playgroud)
我正在寻找的结果如下:
Address Transaction Entity
A 1 1
B 1 1
C 2 2
A 3 1
D 3 1
C 4 2
E 4 2
Run Code Online (Sandbox Code Playgroud)