全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1097 3
2019-11-06
悬赏 2 个论坛币 未解决
x <- c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0)
y <- c(1,12,7,1,11,6,2,4,9,13)
z <- c(3,2,8,1,5,10,14,2,9,12)
离散函数:
discretize3d = function( x, y, z, numBins1, numBins2, numBins3, r1=range(x), r2=range(y), r3 = range(z) )
{
  b1 = seq(from=r1[1], to=r1[2], length.out=numBins1+1 )
  b2 = seq(from=r2[1], to=r2[2], length.out=numBins2+1 )
  b3 = seq(from=r3[1], to=r3[2], length.out=numBins3+1 )

  xyz = table( cut(x, breaks=b1, include.lowest=TRUE ),
               cut(y, breaks=b2, include.lowest=TRUE ),
               cut(z, breaks=b3, include.lowest=TRUE ))
  return( xyz )
}
离散化:
XYZ <- discretize3d(x, y, z, numBins1 = 3, numBins2 = 2, numBins3 = 2,
                     r1=range(x), r2=range(y), r3=range(z))

#####################################################

XY <- rowSums(XYZ, dims = 2)
YZ <- colSums(XYZ, dims = 1)
请问我想得到XZ,怎么用简洁的函数得到?请大牛指点,非常感谢!


#####################################################

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-11-6 12:09:41
经过一上午的努力,得到以下解:
XZ <- as.matrix( data.frame(apply(XYZ[,,1], 1, sum), apply(XYZ[,,2], 1, sum)) )



###
这个结果不对,请求支援。。。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-12-6 20:19:50
anchu 发表于 2019-11-6 12:09
经过一上午的努力,得到以下解:
XZ
以上结果不对,请大神指导,谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-12-7 18:09:04
XY  <- rowSums(XYZ, dims = 2L)

YZ  <- colSums(XYZ, dims = 1L)

XZ  <- apply(XYZ, c(1,3), sum)

X    <- rowSums(XYZ, dims = 1L)

Y    <- apply(XYZ[,,], 2, sum)

Z    <- colSums(XYZ, dims = 2L)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群