[英]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.