簡體   English   中英

R中的Datamatrix-從散點圖提取數據

[英]Datamatrix in R - extracting data from scatterplot

我正在嘗試修改R腳本,但是我只有R的基本經驗:

問題1:在線: for (i in 1:nrow(x)) 整數1實際做什么? 將該值更改為2或更高似乎對輸出有很大影響。

問題2:我一直在收到消息:

"Error in if (p[2] > a + b * p[1]) { : 
  missing value where TRUE/FALSE needed"

通常,可能是什么原因造成的?

任何幫助深表感謝!


問題已編輯:

說我有一個用於繪制散點圖的數據框。 數據框將以以下方式組織(CSV格式):

name ABC EFG
1    32  45
2    56  67
to, say 200 000 entries

我將首先做一個散點圖,然后我將使用alphahull將數據集的一部分子集化為A並將其導出為XYZ。 用於執行此操作的腳本:

#plot first plot containing all data
plot(x = X$ABC,
y = X$EFG,
pch=20,
)

#subset data using ahull. choose 4 points on the plot
A <- ahull(locator(4, type="p", pch=20), alpha=10000) 

#exporting subset
XYZ <- {}
for (i in 1:nrow(X)) { if (inahull(A, c(X$ABC[i],X$EFG[i]))) XYZ <- rbind(X,X[i,])}

如果我選擇的子集中的數據點數量太大,則會收到以下消息:if(p [2]> a + b * p [1]){中的錯誤:缺少需要TRUE / FALSE的值

問題1-這是一個for循環-它對矩陣或數據幀x中的每一行執行一次(不確定x在這里到底是什么)。 將其更改為2意味着循環發生的時間減少了一個。 沒有其余的代碼,我不能說太多。

問題2-您可以發布整個代碼嗎? 顯然,需要評估該表達式,並且缺少一個或多個值。

假設您有數據 x

set.seed(123) # for reproducibility

x<-as.data.frame(rnorm(10)) # generate random number and store it as dataframe

k<-2  #assign n as 2 
for (i in (1:nrow(x))){
cat("this is row",i,"\n")
show (k)
k<-k+i
}
show (k)
this is row 1 
[1] 2
this is row 2 
[1] 3
this is row 3 
[1] 5
this is row 4 
[1] 8
this is row 5 
[1] 12
this is row 6 
[1] 17
this is row 7 
[1] 23
this is row 8 
[1] 30
this is row 9 
[1] 38
this is row 10 
[1] 47
> show (k)
[1] 57

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM