我是R编程的新手..我有一个csv文件包含按国家/地区,预期寿命和地区划分的项目。我要做以下事情:
input.csv
Country,LifeExpectancy,Region
India,60,Asia
Srilanka,62,Asia
Myanmar,61,Asia
USA,65,America
Canada,65,America
UK,68,Europe
Belgium,67,Europe
Germany,69,Europe
Switzerland,70,Europe
France,68,Europe
我做了什么?
1
mydata <- read.table("input.csv", header=TRUE, sep=",")
barplot(data$ncol(Region))
我收到错误Error in barplot(mydata$ncol(Region)) : attempt to apply non-function
boxplot(LifeExpectancy~Region,mydata=data)
##这是正确的3不知道怎么做!
4. min(mydata$LifeExpectancy);max(mydata$LifeExpectancy)
##这是正确的
答案 0 :(得分:1)
正如我在评论中指出的那样,这个问题实际上是多个问题,并不反映标题。将来,请尽量保持问题的可管理性和离散性。我不打算在这里回答你的第三点(关于K-means聚类)。搜索SO,我相信你会找到一些相关的问题/答案。
关于您的其他问题,请仔细查看以下内容。如果您不理解特定函数的作用,请参考?function_name
(例如?tapply
),为了进一步启发,从内到外运行嵌套代码(例如foo(bar(baz(x)))
,您可以检查baz(x)
,然后检查bar(baz(x))
,最后检查foo(bar(baz(x)))
。这是一种简单的方法,可以帮助您处理正在发生的事情,并且在调试产生错误的代码时也很有用
d <- read.csv(text='Country,LifeExpectancy,Region
India,60,Asia
Srilanka,62,Asia
Myanmar,61,Asia
USA,65,America
Canada,65,America
UK,68,Europe
Belgium,67,Europe
Germany,69,Europe
Switzerland,70,Europe
France,68,Europe', header=TRUE)
barplot(with(d, tapply(Country, Region, length)), cex.names=0.8,
ylab='No. of countries', xlab='Region', las=1)
boxplot(LifeExpectancy ~ Region, data=d, las=1,
xlab='Region', ylab='Life expectancy')
d$Country[which.min(d$LifeExpectancy)]
# [1] India
# Levels: Belgium Canada France Germany India Myanmar Srilanka Switzerland UK USA
d$Country[which.max(d$LifeExpectancy)]
# [1] Switzerland
# Levels: Belgium Canada France Germany India Myanmar Srilanka Switzerland UK USA