楼主: reduce_fat
380 6

[问答] 关于R 画图的问题 [推广有奖]

荣誉版主

海外论坛首席管理员

已卖:18513份资源

泰斗

28%

还不是VIP/贵宾

-

TA的文库  其他...

海外原创经济论文和写作技巧

威望
11
论坛币
3591325 个
通用积分
34055.4093
学术水平
6834 点
热心指数
7193 点
信用等级
6665 点
经验
1827 点
帖子
12423
精华
78
在线时间
1974 小时
注册时间
2011-6-13
最后登录
2025-10-23

一级伯乐勋章 初级热心勋章 初级学术勋章 中级热心勋章 中级学术勋章 高级学术勋章 初级信用勋章 特级学术勋章 高级热心勋章 中级信用勋章 特级热心勋章 高级信用勋章 特级信用勋章

楼主
reduce_fat 发表于 2013-9-18 12:30:13 |AI写论文
50论坛币
这里有个关于 R  画图的问题,向大牛请教一下。

这本书里的http://cran.r-project.org/doc/contrib/usingR.pdf

P38 第 3.9节 第2题。P95有答案,但是不全。
. Plot the graph of brain weight (brain) versus body weight (body) for the data set Animals from the

MASS package. Label the axes appropriately. Alongside on the same graphics page, log(brain weight) versus

log(body weight). Use the row labels to label the points with the three largest body weight values. Label the

axes in untransformed units. [To access this data frame, specify library(MASS)]

我写了以下codes, 但是不能完全解决那个label three largest body weight values. 我试过用identify 但是一用identify(), R总死机.  不知如何解答,所以特此悬赏答案。 只有完全解答的才算最佳,别的回答会视情况奖励。 还有就是画完图后,怎么把它们加入到text file .txt 里?

library(MASS)
attach(Animals)
print(Animals)
plot(body, brain, pch=15, xlab="Body Weight(kg)", ylab="Brain Weight(g)")
row.names(Animals) <- c("Dipliodocus", "Triceratops", "Brachiosaurus")
text(x=body, y=brain, labels=row.names(Animals), pos=4)
detach(Animals)

attach(Animals)
print(Animals)
plot(log(body), log(brain), pch=15, xlab="Log of Body Weight(kg)", ylab="Log of Brain Weight(g)")
row.names(Animals) <- c("Dipliodocus", "Triceratops", "Brachiosaurus")
text(x=body, y=brain, labels=row.names(Animals), pos=4)
detach(Animals)


最佳答案

qoiqpwqr 查看完整内容

plot完之后用 identify(x = body, y = brain, labels = rownames(Animals)) 然后用鼠标去点body weight最大的那三个点,然后按Esc就好了
关键词:transformed appropriate R-Project transform identify package labels points values versus
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
xiaodao99 + 5 + 5 + 5 鼓励积极发帖讨论

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

复制粘贴积分链接 https://bbs.pinggu.org/ext8_airdrop.php?airdropfrom^^uid=2669999

沙发
qoiqpwqr 发表于 2013-9-18 12:30:14
plot完之后用
identify(x = body, y = brain, labels = rownames(Animals))
然后用鼠标去点body weight最大的那三个点,然后按Esc就好了
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
reduce_fat + 50 + 3 + 1 + 1 热心帮助其他会员

总评分: 经验 + 50  学术水平 + 3  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
reduce_fat 发表于 2013-9-18 14:03:00
qoiqpwqr 发表于 2013-9-18 13:32
plot完之后用
identify(x = body, y = brain, labels = rownames(Animals))
然后用鼠标去点body weight最 ...
那个text 貌似不能帮我解决问题, 你说的那个我试过了,可以用拉,我当时没有按esc 所以感觉R 死机了。 但是我要把结果放到text file里才行。应该可以用latex 完成,具体怎么操作啊?
复制粘贴积分链接 https://bbs.pinggu.org/ext8_airdrop.php?airdropfrom^^uid=2669999

板凳
leolee1986 发表于 2013-9-19 20:55:35
还以为版主是学经济的 咋还编程了呢
顶一下

报纸
qoiqpwqr 发表于 2013-9-19 20:57:50
你想把什么存到txt文件里?

地板
reduce_fat 发表于 2013-9-20 04:41:21
qoiqpwqr 发表于 2013-9-19 20:57
你想把什么存到txt文件里?
Use latex to save plots in txt.
复制粘贴积分链接 https://bbs.pinggu.org/ext8_airdrop.php?airdropfrom^^uid=2669999

7
qoiqpwqr 发表于 2013-9-20 12:21:08
可以先把图像存为pdf文件,然后放到latex里面。不知道是不是你想要的。

pdf("1.pdf")
.....
dev.off()
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
reduce_fat + 40 + 2 + 2 + 2 热心帮助其他会员

总评分: 经验 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-1 14:35