由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 这个R程序能帮改进一下吗?
相关主题
请问面试 R 应该怎么准备?突然对直线拟合的R不明白起来了
a R loop question两个有关于R的小问题?
请教R Code, 多谢!请教一个概率题的思路
求问一个R apply 函数的问题R question
请教大神们关于bootstrapUrgent R Question
R 扫描matrixR 画图问题求教
问一个R的问题【R求问】关于vector赋值
R:matrix【R】保留matrix中某些值
相关话题的讨论汇总
话题: nrow话题: ncol话题: matrix话题: temp话题: tapply
进入Statistics版参与讨论
1 (共1页)
g**r
发帖数: 425
1
我的DATA:
a=matrix(c(3,4,5,6,7,6),nrow=2,byrow=TRUE)
我想要的结果:
b=matrix(0,nrow=2,ncol=10)
for(i in 1:nrow(a))for(j in 1:ncol(a))
b[i,a[i,j]]=1+b[i,a[i,j]]
但觉得我的这个方法也太土了。R玩的不熟,大家帮忙。
t**i
发帖数: 688
2
I don't get it. Provide more info, please.
s*****n
发帖数: 2174
3
b <- matrix(0, nrow = 2, ncol = 10)
for (i in 1:nrow(a)){
temp <- tapply(a[i,], a[i, ], length)
b[i, as.numeric(names(temp))] <- temp
}

【在 g**r 的大作中提到】
: 我的DATA:
: a=matrix(c(3,4,5,6,7,6),nrow=2,byrow=TRUE)
: 我想要的结果:
: b=matrix(0,nrow=2,ncol=10)
: for(i in 1:nrow(a))for(j in 1:ncol(a))
: b[i,a[i,j]]=1+b[i,a[i,j]]
: 但觉得我的这个方法也太土了。R玩的不熟,大家帮忙。

f***a
发帖数: 329
4
一行搞定 :D
t(apply(a,1,function(t)table(c(t,1:ncol(b)))-1))
g**r
发帖数: 425
5
酷!
稍微改进了一下,最后用的这个:
t(apply(a,1,function(t)tabulate(t,ncol(b))

【在 f***a 的大作中提到】
: 一行搞定 :D
: t(apply(a,1,function(t)table(c(t,1:ncol(b)))-1))

g**r
发帖数: 425
6
谢谢。结果是对的。
我也把tapply学了一下,貌似tapply(a[i,], a[i, ], length)和楼下童鞋用的
table 函数的结果是一样的。

【在 s*****n 的大作中提到】
: b <- matrix(0, nrow = 2, ncol = 10)
: for (i in 1:nrow(a)){
: temp <- tapply(a[i,], a[i, ], length)
: b[i, as.numeric(names(temp))] <- temp
: }

1 (共1页)
进入Statistics版参与讨论
相关主题
【R】保留matrix中某些值请教大神们关于bootstrap
SAS code question, special two do loopR 扫描matrix
how to get a length of a vector in SAS/IML问一个R的问题
请问下SAS执行中有什么单步执行之类的命令吗? 为什么我的proc iml里设置的参数t无论怎么改,结果都不变呢?R:matrix
请问面试 R 应该怎么准备?突然对直线拟合的R不明白起来了
a R loop question两个有关于R的小问题?
请教R Code, 多谢!请教一个概率题的思路
求问一个R apply 函数的问题R question
相关话题的讨论汇总
话题: nrow话题: ncol话题: matrix话题: temp话题: tapply