R 关于数据子集的定义

R 关于数据子集的定义,r,apply,loess,R,Apply,Loess,如果之前已经回答过,我深表歉意,但我无法找到一个适用的例子 我正试图为变异函数分析提取一些数据 我有一个数据帧“aa”,列“y”长“lat”和“z” 我正在尝试运行: 黄土(aa2$y~aa$long+aa$lat,aa,degree=2)在系数z的每个级别上 最后,我需要一个“长”、“宽”、“残差”和“Z”的数据帧,残差来自多个facor特定对象 鉴于我对R的了解有限,我无法找出实现这一点的正确语法 我假设可以使用其中一个*apply函数,但我对该语言不太熟悉,无法正确编写它 谢谢您的指导或澄

如果之前已经回答过,我深表歉意,但我无法找到一个适用的例子

我正试图为变异函数分析提取一些数据

我有一个数据帧“aa”,列“y”长“lat”和“z”

我正在尝试运行:
黄土(aa2$y~aa$long+aa$lat,aa,degree=2)
在系数z的每个级别上

最后,我需要一个“长”、“宽”、“残差”和“Z”的数据帧,残差来自多个facor特定对象

鉴于我对R的了解有限,我无法找出实现这一点的正确语法

我假设可以使用其中一个*apply函数,但我对该语言不太熟悉,无法正确编写它

谢谢您的指导或澄清。

像这样吗

aa <- data.frame(y=rnorm(100),long=rnorm(100),lat=rnorm(100),Z=rep(1:4, each=25))

result <- do.call(rbind,lapply(unique(aa$Z),function(z){
  df <- aa[aa$Z==z,]
  fit <- loess(y~long+lat,df,degree=2)
  cbind(Z=z,long=df$long,lat=df$lat,residuals=fit$residuals)
}))
head(result)
#   Z       long         lat  residuals
# 1 1  0.9622113  0.03114804 -0.2189496
# 2 1 -0.6539525  0.32908716  1.3904483
# 3 1  1.0066978 -0.78833830  0.1044707
# 4 1 -1.0873116 -0.55218226  1.8526030
# 5 1 -1.1286776  1.68879949  0.2459814
# 6 1 -1.0052768 -0.85890027 -0.9842824

aa首先,写
黄土(y~long+lat,aa,度=2)
。公式引用了aa中的dimnames。这似乎工作正常,我将大写字母“Z”解释为数据中的变量,而小写字母“Z”是函数中使用的中间变量,对吗?
Z
aa
中的一列。它还用于命名
result
中的列。既然你是SO的新手,请。