【发布时间】:2021-01-17 09:29:22
【问题描述】:
在 Matlab 中,创建一个稍后将被填充的空向量如下所示:
v2 = []
我如何在 r 中做同样的事情?当满足条件时,我将使用这个空向量来填充它。我不知道它未来的长度。作为参考,这是我在 r 中的代码。
dfx <- read.csv("AllDataNewConversions.csv",header = TRUE, sep =",",check.names=FALSE)
df <- na.omit(dfx) # removes NA
v2 <- {}
new_val <- {}
for (i in 1:length(df)){
if (df$Texture[i] == 'Silt Loam'){
new_val <- df$`pH 1:1`[i]}
v2[i] <- new_val
}
【问题讨论】:
-
您通常不应该。创建一个空向量并附加到它是一种反模式,因为它效率低下并且不必要地冗长。这不仅在 R 中是正确的:它是一个普遍的原则。
-
我认为这里不需要循环。如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
标签: r