1

我在导入到 R 的 excel 电子表格中有 7 个不同的变量。它们都是大小为 3331 的列。它们是:

'Tribe' - there are 8 of them
'Month' - when the sampling was carried out
'Year' - the year when the sampling was carried out
'ID" - an identifier for each snail
'Weight' - weight of a snail in grams
'Length' - length of a snail shell in millimetres
'Width' - width of a snail shell in millimetres

这是一个案例,要求 8 个不同的部落记录疑似濒临灭绝的蜗牛物种的数据,以查看它们是否变得越来越稀有,或者大小或重量是否发生变化。这发生在 1993 年至 1998 年间的不同频率。

我想知道如何能够为数据创建一个新变量,以便如果我输入名称(蜗牛)# 那么它会列出 7 个给定变量以及我拥有的任何添加的变量。

数据集仅限于我想添加新变量的地方。例如,了解任何给定月份中每月的蜗牛数量。

这将取决于我使用 - 部落、月份、年份和 ID。如果根据任何给定月份的费率列出了 ID(蜗牛标识符),那么我将能够将它们相加以查看计数是否有任何变化。我努力了:

count=c(Tribe,Year,Month,ID)
count

但是,在做完这样的事情之后,R 只是有一个大列表,其大小是数据集大小的 4 倍。我希望能够创建一个列大小为 n=3331 的给定新变量。

或者,也许我想创建一个更简单的变量,以便查看某个部落是否在任何给定月份收集。我不知道我该怎么做。

我查看了其他论坛并进行了搜索,但是在我的情况下,我看不到任何对我有帮助的东西。我很感激任何帮助。谢谢

4

1 回答 1

2

我猜您需要将变量组织在一个结构中,例如data.frame. 请参阅?data.frame帮助文件。

为了让您开始,您可以执行以下操作:

snails <- data.frame(Tribe,Year,Month,ID)
snails
# or for just the first few rows
head(snails)

然后这将使您的数据看起来类似于您的 Excel 文件,例如:

   Tribe Year Month ID
1      1    1     1  a
2      2    2     2  b
3      3    3     3  c
<<etc>>

然后,如果您这样做names(snails),它将列出您的列名。

您可以通过直接从 Excel 导入您的 Excel 文件或先保存为csv(逗号分隔值)文件然后使用read.csv("name_of_your_file.csv") 参见http://www.statmethods.net/input/importingdata.html有关此的更多细节。

要将数据制成表格,您可以执行以下操作...

table(snails$Tribe)

...查看每个部落收集的蜗牛记录的数量。或者...

table(snails$Tribe,snails$Year)

...查看每个部落每年的趋势。该$字符将允许您以与当前使用自由浮动变量相同的方式访问 data.frame 中的命名变量(列)。最初这似乎需要更多的工作,但当您需要进行一些更复杂的分析时,它会带来很大的回报。

举个例子,如果你只想分析部落“1”的权重,你可以这样做:

snails$Weight[snails$Tribe==1]
# mean of these weights
mean(snails$Weight[snails$Tribe==1])

我可以解释更多的事情,但你可能会更好地阅读一个像 Quick-R 这样的优秀网站:http: //www.statmethods.net/management/index.html让你做一些更高级的分析和绘图。

于 2012-06-03T01:07:33.353 回答