将列名设置为R中的行值
我在R有这种桌子将列名设置为R中的行值,r,R,我在R有这种桌子 April Tourist 2018 123 2018 222 我希望我的桌子看起来像这样:- Month Year Domestic International Total April 2018 123 222 345 我不熟悉R。我尝试使用R给出的melt和rownames()函数,但没有找到确切的解决方法。根据您的评论,您的数据集中只有2行,这里有一种方法可以使用dplyr和tidyr- df &
April Tourist
2018 123
2018 222
我希望我的桌子看起来像这样:-
Month Year Domestic International Total
April 2018 123 222 345
我不熟悉R。我尝试使用R给出的melt和rownames()函数,但没有找到确切的解决方法。根据您的评论,您的数据集中只有2行,这里有一种方法可以使用
dplyr
和tidyr
-
df <- data_frame(April = c(2018, 2018),
Tourist = c(123, 222))
df %>%
mutate(Type = c("Domestic", "International")) %>%
gather(Month, Year, April) %>%
spread(Type, Tourist) %>%
mutate(
Total = Domestic + International
)
# A tibble: 1 x 5
Month Year Domestic International Total
<chr> <dbl> <dbl> <dbl> <dbl>
1 April 2018 123 222 345
df%
变异(类型=c(“国内”、“国际”))%>%
聚集(月、年、四月)%>%
分布(类型、游客)%>%
变异(
总计=国内+国际
)
#一个tibble:1 x 5
月/年国内/国际总计
2018年4月1日123 222 345
欢迎来到Stackoverflow:)。请尽量使您的代码可复制,并将其分块,以便人们能够更好地理解您的问题并复制它。事实上,我不了解您的数据格式,但要将列名放在data.frame中,请使用colnames(dataframe)谢谢您的反馈。我的表的列名为“April”,我希望April成为行值,列名“April”应重命名为“Year”。您的数据没有说明哪一行是国内行和国际行。虽然我可以从您的示例中看出,但我认为您忘记了在示例数据集中包含该列。我希望旅游列分为两个不同的列,即国内列和国际列,旅游列中的第一个值应转到国内列,第二个值应转到国际列column@supriyasingh你的房间里只有两排吗您的实际数据?谢谢您的回复。但我不想创建一个单独的数据帧。我有一个这样的表:-2018年4月旅游2886.4 2018 613,我想以这种方式修改我的表以获得所需的输出。你不想要单独的数据帧是什么意思?你指的是我添加的类型
列吗?我只是想知道有没有其他不使用数据框的方法。我们可以用melt吗?事实上,我正在废弃一个pdf文件,然后得到一个有两行的表格。假设该表称为April\u表。我希望使用此表并将其转换为所需格式。我不想使用data\u frame,因为这不是直接使用表,而是我们明确地给出了值,只需确保April\u table
是data.frame
(可以尝试使用as.data.frame()
)。无需使用数据帧
。