R如何将字符向量与矩阵数绑定
R how to bind character vector with matrix numbers
我有一个 3*4 矩阵(称为 S1),假设:
1 2 3 4
5 6 7 8
9 1 1 1
我有一个名为 'frequency' 的字符向量:
CX
XU
UK
想法是绑定它们,例如
CX 1 2 3 4
XU 5 6 7 8
UK 9 1 1 1
我试过使用 cbind as
result = cbind(frequency, S1)
但是R产生的结果是
"CX" "1" "2" "3" "4"
"XU" "5" "6" "7" "8"
"UK" "9" "1" "1" "1"
知道如何去掉括号吗?
S1
是矩阵,矩阵只能容纳一种类型的数据。由于 frequency
是一个字符向量,它也将 S1
值强制转换为字符。
将S1
转为数据帧
cbind(frequency, data.frame(S1))
或
cbind.data.frame(frequency, S1)
矩阵只接受一种类型的数据,在您的例子中是将数字转换为字符。我建议你使用数据框的数据结构,索引与矩阵相同。尝试:
result = cbind(frequency, as.dataframe(S1))
Generate data
frequency <- c("CU", "XU", "UK")
S1 <- matrix(c(1:8,9,1,1,1), nrow = 3, ncol = 4, byrow=TRUE)
One can use this
cbind.data.frame(freq=frequency,s1=S1)
Output
freq s1.1 s1.2 s1.3 s1.4
1 CU 1 2 3 4
2 XU 5 6 7 8
3 UK 9 1 1 1
我有一个 3*4 矩阵(称为 S1),假设:
1 2 3 4
5 6 7 8
9 1 1 1
我有一个名为 'frequency' 的字符向量:
CX
XU
UK
想法是绑定它们,例如
CX 1 2 3 4
XU 5 6 7 8
UK 9 1 1 1
我试过使用 cbind as
result = cbind(frequency, S1)
但是R产生的结果是
"CX" "1" "2" "3" "4"
"XU" "5" "6" "7" "8"
"UK" "9" "1" "1" "1"
知道如何去掉括号吗?
S1
是矩阵,矩阵只能容纳一种类型的数据。由于 frequency
是一个字符向量,它也将 S1
值强制转换为字符。
将S1
转为数据帧
cbind(frequency, data.frame(S1))
或
cbind.data.frame(frequency, S1)
矩阵只接受一种类型的数据,在您的例子中是将数字转换为字符。我建议你使用数据框的数据结构,索引与矩阵相同。尝试:
result = cbind(frequency, as.dataframe(S1))
Generate data
frequency <- c("CU", "XU", "UK")
S1 <- matrix(c(1:8,9,1,1,1), nrow = 3, ncol = 4, byrow=TRUE)
One can use this
cbind.data.frame(freq=frequency,s1=S1)
Output
freq s1.1 s1.2 s1.3 s1.4
1 CU 1 2 3 4
2 XU 5 6 7 8
3 UK 9 1 1 1