我正在尝试使用princompR中的函数进行PCA分析.
以下是示例代码:
mydf <- data.frame (
A = c("NA", rnorm(10, 4, 5)),
B = c("NA", rnorm(9, 4, 5), "NA"),
C = c("NA", "NA", rnorm(8, 4, 5), "NA")
)
out <- princomp(mydf, cor = TRUE, na.action=na.exclude)
Error in cov.wt(z) : 'x' must contain finite values only
Run Code Online (Sandbox Code Playgroud)
我试图NA从数据集中删除它,但它不起作用.
ndnew <- mydf[complete.cases(mydf),]
A B C
1 NA NA NA
2 1.67558617743171 1.28714736288378 NA
3 -1.03388645096478 9.8370942023751 10.9522215389562
4 7.10494481721949 14.7686678743866 4.06560213642725
5 13.966212462717 3.92061729913733 7.12875100279949
6 -1.91566982754146 0.842774330179978 5.26042516598668 …Run Code Online (Sandbox Code Playgroud) 我正在使用R中的大型数据表,并且我试图遍历整个表并根据单独列中前一行的值在给定列中设置行值.
我试图在一个有200K行的表上运行这个循环,它的移动速度非常慢.我怀疑我没有利用所有data.table的效率,但不知道我可以改进的地方.
我的代码如下.我的表是"DATA",我的钥匙都柱"X"和"Y",而我通过所有行试图环和6列组行的值设置为1 只,如果该行的第2列中值不等于第2列中前一行的值.
setkey(DATA,x,y)
for (i in 2:nrow(DATA)) {
if (DATA[i,2]!=DATA[i-1,2]){
DATA[i, 6] = 1
}
}
Run Code Online (Sandbox Code Playgroud)
同样,这可行,但对于大型表来说非常慢.任何帮助将不胜感激 - 谢谢!
我正在尝试使用ROCR包从分析中导出生物识别数据.这是我到目前为止所做的代码:
pred = performance(Matching.Score,Distribution)
perf = prediction(pred,"fnr", "fpr")
An object of class “performance”
Slot "x.name":
[1] "False positive rate"
Slot "y.name":
[1] "False negative rate"
Slot "alpha.name":
[1] "Cutoff"
Slot "x.values":
[[1]]
[1] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
[15] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
......
Slot "y.values":
[[1]]
[1] 1.00000 0.99999 0.99998 0.99997 0.99996 0.99995
[15] 0.99986 0.99985 0.99984 0.99983 0.99982 0.99981
......
Slot "alpha.values":
[[1]]
[1] Inf 1.0427800 1.0221150 1.0056240 1.0032630 0.9999599
[12] 0.9644779 0.9633058 0.9628996 0.9626501 …Run Code Online (Sandbox Code Playgroud) 我有一个缠绕在圆环上的晶格(图末尾的每个节点都链接到它们在网格上的相对节点)。
require("igraph")
require("rgl")
n = 10
g = graph.lattice(c(n,n)) # create a square lattice (nxn)
plot(g,vertex.size = 0.5,vertex.size = 4,vertex.label = NA,vertex.color = "red")
# want to connect up the corners (horribly done)
v1 = seq(from =1, to = n,by = 1)
v2 = seq(from = n, to = n^2, by = n)
v3 = seq(from = n^2, to = n^2 - n+1, by = -1)
v4 = seq(from = v3[length(v3)],to = 1,by = -n)
a = cbind(rbind(v1,v2), rbind(v3,v4))
a2 …Run Code Online (Sandbox Code Playgroud) 我有两个包含S4对象的列表。现在我想询问 list_1 的元素是否包含 list_2 的元素,就像我在下面的字符向量列表示例中所做的那样。
s<-list(a=LETTERS[1:3],b=LETTERS[4:6])
t<-list(n=LETTERS[1:3],v=LETTERS[1:4])
s %in% t
Run Code Online (Sandbox Code Playgroud)
但它能证明物体是否相同吗?如果不是,如何在不使用循环的情况下选择list_1中存在于list_2中的元素?