我正在尝试修改 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 的缺失值