Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R编程拉普拉_R - Fatal编程技术网

R编程拉普拉

R编程拉普拉,r,R,错误来了。上面说尺寸不正确 lapply(s, colMeans(s[,c("Ozone","Solar.R","Wind")])) 也显示了相同的错误 lapply(airquality, function(x)colMeans(x)) 这段代码运行得非常好 但是: f您的split函数返回一个列表,但您正在像处理数组或数据帧一样处理它 错误来自于s[,c(“臭氧”、“太阳能”、“风能”)],因为它是一个列表,所以不能以这种方式细分。试一试 f<-function(x){

错误来了。上面说尺寸不正确

lapply(s, colMeans(s[,c("Ozone","Solar.R","Wind")])) 
也显示了相同的错误

lapply(airquality, function(x)colMeans(x)) 
这段代码运行得非常好

但是:


f您的split函数返回一个列表,但您正在像处理数组或数据帧一样处理它

错误来自于
s[,c(“臭氧”、“太阳能”、“风能”)]
,因为它是一个列表,所以不能以这种方式细分。试一试

 f<-function(x){
    colMeans(x[,c("Ozone","Solar.R","Wind")])}

 f(s) #error  incorrect dimensions

 class(s) # class of s is list

 f(airquality)  #gives mean of each column
你会发现这是可行的,就像

s$`9`[,c("Ozone","Solar.R","Wind")]
是一个数据帧

在第一次尝试中,您不是在提供函数,而是在s上计算的函数。由于不能像上面那样操作,对其调用函数也会导致相同的错误,因为函数的输入一开始就有问题

您的第二次尝试失败了,因为Lappy最终将一列一列地提供给colMeans函数,该函数需要二维数组(您已经为它提供了一维数组)

最后一个调用工作的原因是函数

s$`9`
可以对列表的每个项调用,因为每个项都是数据帧。lappy函数只是将其应用于该列表中的每个项目

function(x)colMeans(x[,c("Ozone","Solar.R","Wind")])
这是正确的方法

另一种方法是使用by函数

lapply(s,function(x)colMeans(x[,c("Ozone","Solar.R","Wind")]))

split函数返回一个列表,但您正在像处理数组或数据帧一样处理它

错误来自于
s[,c(“臭氧”、“太阳能”、“风能”)]
,因为它是一个列表,所以不能以这种方式细分。试一试

 f<-function(x){
    colMeans(x[,c("Ozone","Solar.R","Wind")])}

 f(s) #error  incorrect dimensions

 class(s) # class of s is list

 f(airquality)  #gives mean of each column
你会发现这是可行的,就像

s$`9`[,c("Ozone","Solar.R","Wind")]
是一个数据帧

在第一次尝试中,您不是在提供函数,而是在s上计算的函数。由于不能像上面那样操作,对其调用函数也会导致相同的错误,因为函数的输入一开始就有问题

您的第二次尝试失败了,因为Lappy最终将一列一列地提供给colMeans函数,该函数需要二维数组(您已经为它提供了一维数组)

最后一个调用工作的原因是函数

s$`9`
可以对列表的每个项调用,因为每个项都是数据帧。lappy函数只是将其应用于该列表中的每个项目

function(x)colMeans(x[,c("Ozone","Solar.R","Wind")])
这是正确的方法

另一种方法是使用by函数

lapply(s,function(x)colMeans(x[,c("Ozone","Solar.R","Wind")]))

请检查一下你们的开合支架好吗?这真是一团糟。(1)
lappy(s,colMeans)(s[,c(“臭氧”,“太阳能.R”,“风”)
不起作用,因为它是错误的。请参见
?lappy
(2)
lappy(空气质量,函数(x)colMeans(x))
抛出一个错误,因为您试图计算向量上的
colMeans
(空气质量
的列被强制为没有维度的向量)。(3)
函数
不是在创建维度-在您的工作示例中,您的函数应用于列表
s
的元素,每个元素都是
数据框
,因此易于计算
colMeans
。为了澄清,
lapply
将函数应用于
X
的每个元素
s
是一个
data.frame
,而
airquality
的每个元素都是一个向量(data.frame的元素是它的列)。要使用
colMeans
你需要列。请不要破坏为改进你的问题所做的编辑。
lappy
正是在做我上面所说的。如果你做了
lappy(airquality,I)
,您可能会更清楚地看到
lappy
迭代的“元素”是什么。该函数应用于这些元素中的每一个。现在,您希望能够在这些向量中的任何一个上使用
colMeans
?否。现在尝试
lappy(s,I)
。将
colMeans
应用于这些元素更有意义,因为它们是具有列的data.frames。请注意
lappy
并不是只对列表进行操作,例如
lappy(1:10,sqrt)
lappy
中的
l
是因为它返回一个列表(与
sapply(1:10,sqrt)
)。你能检查一下你的开始和结束括号吗?太乱了。(1)
lappy(s,colMeans)(s[,c(“臭氧”,“太阳能.R”,“风”)
不起作用,因为它是错误的。请参见
?lappy
(2)
lappy(空气质量,函数(x)colMeans(x))
抛出一个错误,因为你试图计算向量上的
colMeans
(空气质量
的列被强制为没有维度的向量)。(3)
函数
不是在创建维度-在您的工作示例中,您的函数应用于列表
s
的元素,每个元素都是
数据框
,因此易于计算
colMeans
。为了澄清,
lapply
将函数应用于
X
的每个元素
s
是一个
data.frame
,而
airquality
的每个元素都是一个向量(data.frame的元素是它的列)。要使用
colMeans
你需要列。请不要破坏为改进你的问题所做的编辑。
lappy
正是在做我上面所说的。如果你做了
lappy(airquality,I)
,您可能会更清楚地看到
lappy
迭代的“元素”是什么。该函数应用于这些元素中的每一个。现在,您希望能够在这些向量中的任何一个上使用
colMeans
?否。现在尝试
lappy(s,I)
。将
colMeans
应用于这些元素更有意义,因为它们是具有列的data.frames。请注意
lappy
并不是只对列表进行操作,例如
lappy(1:10,sqrt)
lappy
中的
l
是因为它返回一个列表(与
sapply(1:10,sqrt)
).也与本次讨论相关-也与本次讨论相关-