我有一个数据框,例如,
X1 12:37
X2 3,0,0
我想将3 0和0分别提取到新的数据框中。
我想怎么办呢?
提前致谢...
答案 0 :(得分:2)
你可以先阅读你的行,然后拆分它们,从行名中提取数字。
ll <- readLines(textConnection('X1 12:37
X2 3,0,0'))
res <- strsplit(ll,' ')
[[1]]
[1] "X1" "12:37" ""
[[2]]
[1] "X2" "" "3,0,0"
或使用read.table
:
res1 <- read.table(text='X1 12:37
X2 3,0,0')
V1 V2
1 X1 12:37
2 X2 3,0,0
例如,您可以访问包含逗号的元素,并再次应用strsplit
,如其他解决方案所述。
unlist(res)[grep(',',unlist(res))]
"3,0,0"
答案 1 :(得分:1)
您可以使用strsplit
获取数字:
strsplit("3,0,0", ",")
目前还不完全清楚您的数据是实际存在于数据框中,还是仅仅是一个向量(R新手倾向于将包含数据的所有内容称为“数据框”),但希望您能看到如何应用功能。
答案 2 :(得分:1)
使用@ agstudy的“res1”:
res1 <- read.table(
text='X1 12:37
X2 3,0,0')
temp <- read.table(text = as.character(res1$V2),
sep = ",", header = FALSE, fill = TRUE)
temp
# V1 V2 V3
# 1 12:37 NA NA
# 2 3 0 0
temp[complete.cases(temp), ]
# V1 V2 V3
# 2 3 0 0