我想從現有的表中創建一個新的R表。 爲了說明,請參閱下表:創建一個帶有指定列中的內容的R的CSV文件
查詢着眼於第2和第3列和地圖實例發生結合,產生一個新表。
正如你所看到的,沒有重複的例子,這是至關重要的。 我嘗試過使用Unique函數來做這件事,但我還沒有能夠很好地計算出來,以便生成CSV輸出就像這樣。
我想從現有的表中創建一個新的R表。 爲了說明,請參閱下表:創建一個帶有指定列中的內容的R的CSV文件
查詢着眼於第2和第3列和地圖實例發生結合,產生一個新表。
正如你所看到的,沒有重複的例子,這是至關重要的。 我嘗試過使用Unique函數來做這件事,但我還沒有能夠很好地計算出來,以便生成CSV輸出就像這樣。
如果您對R很新,則可以使用sqldf軟件包來幫助您。有了這個可以在R中編寫sql查詢。如果你使用表格,這可以提供幫助。
你的代碼,你想要做的,然後是這樣的:
install.packages("sqldf")
library(sqldf)
new_table<-sqldf("SELECT Column2, Column3, COUNT(*) as Frequency from old_table group by CONCAT(Column2,Column3)")
write.csv(new_table, "new_table.csv")
操縱數據,你可以把它放在一個tibble事後使用dplyr
語法。
library(dplyr)
tibble(col_1=c(14, 5, 7, 688, 56, 565, 674),
col_2=c("A", "A", "B", "B", "B", "A", "C"),
col_3=c("C", "C", "D", "D", "D", "A", "D"),
col_4=c("67rhr", "4gg2", "344g5", "4yy4", "6hthht7", "7ttjty7", "yyuuy")) %>%
count(col_2, col_3) %>%
rename("frequency"=n)
# col_2 col_3 frequency
# <chr> <chr> <int>
# 1 A A 1
# 2 A C 2
# 3 B D 3
# 4 C D 1
Col1 <- c(12,5,7,688,56,565,674)
ColA <- c("A","A","B","B","B","A","C")
ColB <- c("C", "C","D", "D", "D", "A", "C")
df = data.frame(Col1, ColA, ColB)
library(dplyr)
result <- select(df, ColA, ColB) %>%
group_by(ColA, ColB) %>%
summarise(Frequency=n())
write.csv(result, file="somename.csv")