由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - How to transpose a data frame in R
相关主题
接着How to transpose a data frame in R问一句。再问一个sas输出的问题 (export)
R program helpquestion about longitudinal data
How to compute sum of revenue for each day each person in R?辅修stats或biostats的问题
怎样用R找出unique的record问R和C的循环语句
[合集] 请问如何看到R的source code?help, got laid off
R一问R table问题弱问
R中By函数是什么意思R doesnt have pass by reference mechanism?
請教許多data 快速import and transpose的方法今天又“R”了 -- 感想和请教。
相关话题的讨论汇总
话题: data话题: 2009话题: transpose话题: frame话题: tapply
进入Statistics版参与讨论
1 (共1页)
S******y
发帖数: 1123
1
I have the following data frame -
id year_mnth revenue
101 2009-01 1100
101 2009-02 1200
102 2009-02 1900
103 2009-03 2000
...
I would like to tranpose it and output
like -
id _2009_01 _2009_02 _2009_03
101 1100 1200 .
102 . 1900 .
103 . . 2000
Is there a way to do that in R?
Thanks!
s*****n
发帖数: 2174
2
tapply() is perfect for this purpose.

【在 S******y 的大作中提到】
: I have the following data frame -
: id year_mnth revenue
: 101 2009-01 1100
: 101 2009-02 1200
: 102 2009-02 1900
: 103 2009-03 2000
: ...
: I would like to tranpose it and output
: like -
: id _2009_01 _2009_02 _2009_03

S******y
发帖数: 1123
3
Thanks! songkun.
Could you be more specific by giving an example?
s*****n
发帖数: 2174
4
tapply(data$revenue, list(data$id, data$year_mnth), sum)
but I suggest you read the tapply manual:
?tapply

【在 S******y 的大作中提到】
: Thanks! songkun.
: Could you be more specific by giving an example?

q**j
发帖数: 10612
5
如果数据是字符型的你怎么用tapply?

【在 s*****n 的大作中提到】
: tapply(data$revenue, list(data$id, data$year_mnth), sum)
: but I suggest you read the tapply manual:
: ?tapply

s*****n
发帖数: 2174
6
字符型也一样, 区别只是FUN那部分你肯定不能用什么 sum, mean 这类的函数. 但是任
何可以保持字符型的函数可以可以, 比如:
data <- data.frame(
id = c(101, 101, 102, 102),
class = c("A", "B", "B", "A"),
name = c("Tom", "Dan", "Susan", "Larry"))
tapply(data$name, list(data$id, data$class), as.character)
A B
101 "Tom" "Dan"
102 "Larry" "Susan"
S******y
发帖数: 1123
7
Thanks!
That blows me away.
q**j
发帖数: 10612
8
请问如果想将这个步骤逆向操作一下有没有这样的short cut?

【在 s*****n 的大作中提到】
: 字符型也一样, 区别只是FUN那部分你肯定不能用什么 sum, mean 这类的函数. 但是任
: 何可以保持字符型的函数可以可以, 比如:
: data <- data.frame(
: id = c(101, 101, 102, 102),
: class = c("A", "B", "B", "A"),
: name = c("Tom", "Dan", "Susan", "Larry"))
: tapply(data$name, list(data$id, data$class), as.character)
: A B
: 101 "Tom" "Dan"
: 102 "Larry" "Susan"

s*****n
发帖数: 2174
9
unmatrix()
q**j
发帖数: 10612
10
thanks a lot!
f*******r
发帖数: 383
11
您老真耐心。

【在 s*****n 的大作中提到】
: 字符型也一样, 区别只是FUN那部分你肯定不能用什么 sum, mean 这类的函数. 但是任
: 何可以保持字符型的函数可以可以, 比如:
: data <- data.frame(
: id = c(101, 101, 102, 102),
: class = c("A", "B", "B", "A"),
: name = c("Tom", "Dan", "Susan", "Larry"))
: tapply(data$name, list(data$id, data$class), as.character)
: A B
: 101 "Tom" "Dan"
: 102 "Larry" "Susan"

s*****n
发帖数: 2174
12
呵呵, 是啊.
营造统计版良好气氛....

【在 f*******r 的大作中提到】
: 您老真耐心。
1 (共1页)
进入Statistics版参与讨论
相关主题
今天又“R”了 -- 感想和请教。[合集] 请问如何看到R的source code?
R questionR一问
咣,咣,咣,上书了!Quick R guide.R中By函数是什么意思
更新一下Taste of R,再问两个R的问题。請教許多data 快速import and transpose的方法
接着How to transpose a data frame in R问一句。再问一个sas输出的问题 (export)
R program helpquestion about longitudinal data
How to compute sum of revenue for each day each person in R?辅修stats或biostats的问题
怎样用R找出unique的record问R和C的循环语句
相关话题的讨论汇总
话题: data话题: 2009话题: transpose话题: frame话题: tapply